Ace: IOS-Kompatibilität

Erstellt am 11. Jan. 2011  ·  160Kommentare  ·  Quelle: ajaxorg/ace

Ace könnte ein idealer Editor auf IOS-Geräten (iPad, iPhone) sein, wenn Sie nur tippen könnten, aber leider wird die virtuelle Tastatur bei ACE nie angezeigt. Ich glaube auch, dass jemand einen Patch für Bespin hatte, damit das funktioniert.
@gissues :{"order":96.27329192546586,"status":"backlog"}

mobile

Hilfreichster Kommentar

Hallo Leute! Ich habe gerade eine Pull-Anfrage erstellt, die einige der Probleme unter iOS behebt. Es bietet eine angenehme Benutzererfahrung, wenn Sie eine externe Tastatur haben.

Wenn es dir gefällt, denke ich vielleicht daran, die verbleibenden Probleme zu beheben :)

Sie können es auf https://ipad-undo.gomix.me in Aktion sehen

Genießen!

Alle 160 Kommentare

Wir wissen es, und es wird sich bald darum kümmern. Danke für den Vorschlag!

Könntest du den Patch für uns nachschlagen?

Ich interessiere mich auch für die Unterstützung von iOS (und insbesondere iPad).
Ich freue mich darauf, von Ihren Fortschritten an dieser Front zu hören.

Sie können die ipad-Filiale auschecken. Es ist noch nicht perfekt, aber immerhin funktioniert das Tippen. Verwenden Sie zum Scrollen zwei Finger.

Ausgezeichnet, ich hatte den ipad-Zweig nicht bemerkt.
Danke, ich werde es mir anschauen!

Die Tastatur wurde über den ipad-Zweig nicht angezeigt. Bei Verwendung des Master-Zweigs wird es angezeigt, aber es gibt einen Fehler bei der Cursorpositionierung. :/

Vergiss was ich gesagt habe! Es ist cool, dass die Tastatur nicht angezeigt wurde! Sie könnten Ihre eigene Tastatur schreiben, die für Programmierer viel freundlicher ist und weniger Platz beansprucht. :Ö)

Testen auf einem iPad mit iOS 4.3; Der aktuelle Master zeigt keine Tastatur oder Einfügemarke an und scrollt nicht vertikal (ich kann mit zwei Fingern horizontal scrollen, wenn der Text breiter als der verfügbare Bereich ist).

Der iPad-Zweig wurde seit dem 3. Februar nicht mehr aktualisiert ... beim Testen sehe ich, dass vertikales Scrollen mit zwei Fingern funktioniert (yay!), aber sehr langsam ist. Ich kann den Fokus auf den Editor legen und die Bildschirmtastatur öffnen, aber die Einfügemarke fliegt vom Editor weg, wenn das Fenster nach oben scrollt, damit es auf die Tastatur passt.

Der Versuch, im Editor herumzutippen, scheint problematisch zu sein; Ich kann innerhalb der zu bearbeitenden Zeile sortieren, aber das Tippen auf andere Zeilen oben scheint den Fokus zu verlieren und die Tastatur zu schließen. Ich kann den Fokus nur am Ende des Dokuments zuverlässig setzen.

Beim vertikalen Scrollen scheint die Einfügemarke eine Zeile nach oben/unten zu springen, aber wenn ich mit der Eingabe beginne, springt sie zurück zum Ende des Dokuments, um neue Zeichen hinzuzufügen.

(Der iPad-Zweig von regulärem Firefox 4 hat auch Probleme -- er scheint Annahmen über die Scroll-Position des Fensters zu treffen, und das Klicken in den Editor führt dazu, dass die Einfügemarke an der falschen Position platziert wird, wenn ich das _window_ nach unten gescrollt habe, damit der Editor in die sichtbarer Raum.)

Gibt es Updates im iPad-Zweig?

Leider nicht. Dieser Zweig befindet sich derzeit nicht in aktiver Entwicklung. Wir planen, es wiederzubeleben, aber wir haben keine geschätzte Zeit.

Entschuldigung, dass ich einen toten Thread wiederbeleben muss, aber gab es Fortschritte an der iOS-Front?

Das Interesse daran ist offensichtlich groß. Werde mal schauen ob ich helfen kann

+1

Eine webbasierte Komponente, die das iPad nicht unterstützt, kann nicht mehr zu Recht als webbasierte Komponente, IMO, bezeichnet werden.

Ich unterstütze das. Ich schreibe gerade auf einem iPad und wünschte, ich würde stattdessen ACE verwenden, um zu programmieren ...

+1 brauche das auch ziemlich dringend auf dem iPad

+1 zur Dringlichkeit

Ich möchte auch iOS-Unterstützung, und zwar sehr bald. Wenn ich die Zeit finde, setze ich mich gerne hin und mache das selbst. Wenn es also Hinweise darauf gibt, wo ich im Code anfangen sollte, und Details dazu, wie es schief geht, wäre ich dankbar.

Einverstanden - ich würde zu einem Kickstarter-Fonds beitragen, um dies bei Bedarf abzuschließen

Am Sa, 7. April 2012 um 14:53 Uhr, Joe
[email protected]
schrieb:

Ich möchte auch iOS-Unterstützung, und zwar sehr bald. Wenn ich die Zeit finde, setze ich mich gerne hin und mache das selbst. Wenn es also Hinweise darauf gibt, wo ich im Code anfangen sollte, und Details dazu, wie es schief geht, wäre ich dankbar.


Antworten Sie direkt auf diese E-Mail oder zeigen Sie sie auf GitHub an:
https://github.com/ajaxorg/ace/issues/37#issuecomment -5006423

Es gibt keine Möglichkeit , diese verdammte Tastatur mit Javascript zu aktualisieren, Daumen hoch für eine benutzerdefinierte Tastatur.

Nicht wahr. Weisen Sie ein Element als bearbeitbaren Inhalt zu und geben Sie ihm den Fokus, und die Tastatur sollte angezeigt werden. Sie können auch Tricks mit Textfeldern und Texteingaben machen, um es zum Laufen zu bringen.

Die Tastatur kommt auch mit der Version von Ace, die ich auf meiner Website verwende, sie ist einfach nicht verwendbar.

@PlayMyCode Wenn ich etwas wie ios.showKeyboard() nicht aufrufen kann, dann stimmt es, dass ich es nicht mit Javascript aufrufen kann.

Es funktioniert einfach nicht so.

Wenn der Inhalt nicht bearbeitbar ist oder es sich nicht um eine Texteingabe handelt, warum sollte dann die Tastatur angezeigt werden? Die Zeichen gehen nirgendwo hin, Sie erhalten keine Eingaben von der Tastatur.

Die Tasten müssen irgendwo hingehen, damit die Tastatur angezeigt wird. Wenn sie nirgendwo hingehen können, wird es nicht angezeigt. Wenn sie irgendwo hin müssen, wird es angezeigt. Das ist kein Hack, sondern so funktioniert die Texteingabe.

@PlayMyCode - Charaktere brauchen nicht unbedingt eine Texteingabe, um zu gehen, sie könnten einfach zu Javascript "gehen" - wenn Sie eine Reihe von Tastendruck-Hörern hätten, könnten Sie die Charaktere abrufen und an einer beliebigen Stelle platzieren. ..

@hjwp du hast recht, aber so einfach ist es auch wieder nicht. Ich glaube, dass die Elemente in der Lage sein müssen, den Fokus zu erhalten, oder der Browser sendet das Ereignis nicht an das Element und viele Elemente können den Fokus nicht erhalten. Zum Beispiel hört die Leinwand nur auf Schlüsselereignisse, wenn Sie einen Tab-Index hinzufügen (oder zumindest finde ich dies gerade in Chrome). iOS zeigt auch nur die Tastatur für die Leinwand an, wenn Sie den Inhalt bearbeitbar einstellen.

Entweder war dies ein akademisches Argument. Wichtig ist die iOS-Unterstützung, die nicht außen vor gelassen werden sollte, nur weil eine Lösung zu sehr nach einem Hack aussieht (es sei denn, es gibt natürlich eine bessere Alternative).

Wie wäre es, den Fokus auf eine versteckte Texteingabe zu legen und diese beim Tastendruck zu löschen?

Ja, so viele WYSIWYGs funktionieren.

Am 09.04.2012 um 4:56 Uhr "André Fiedler"
[email protected]
schrieb:

Wie wäre es, den Fokus auf eine versteckte Texteingabe zu legen und diese beim Tastendruck zu löschen?


Antworten Sie direkt auf diese E-Mail oder zeigen Sie sie auf GitHub an:
https://github.com/ajaxorg/ace/issues/37#issuecomment -5024068

Hatten ältere Versionen von Ace nicht ursprünglich einen Textbereich oder ein Eingabeelement unter der Eingabe positioniert? Bei diesem Ansatz wird die Tastatur angezeigt.

Wurden ursprünglich nicht ältere Versionen von Ace einen Textbereich oder ein Eingabeelement unter dem Eintrag positioniert?

neue Versionen von ace tun dasselbe.
textarea wird beim Scrollen nicht mehr synchron mit dem Cursor, aber das ist leicht zu beheben
Ich habe kein Ass auf dem iPad gesehen, aber auf Android funktioniert das Tippen und Bewegen des Cursors, nur es gibt keine Möglichkeit, Text auszuwählen.
aber noch wichtiger

  • ace auf dem Android-Browser ist super langsam, Fennec ist etwas besser, aber immer noch unbrauchbar (vielleicht könnte die Verwendung von setTimeout hier mit längerem Intervall helfen, aber nicht sicher)
  • Vorschläge für die Standardtastatur und die automatische Vervollständigung sind für die Programmierung völlig nutzlos (es scheint also eine gute Idee zu sein, eine benutzerdefinierte Tastatur zu erstellen, anstatt zu versuchen, die Standardtastatur anzuzeigen).
    Insgesamt glaube ich nicht, dass ace auf Tablets noch nützlich sein kann.

benutzerdefinierte Tastatur klingt gut!

Ich stehe einer benutzerdefinierten Tastatur skeptisch gegenüber. Der Bau einer guten, polierten Tastatur ist nicht trivial und es lohnt sich, ein eigenes großes Projekt zu sein. Ich würde auch erwarten, dass eine reine HTML-Tastatur langsamer ist als die integrierte.

Es müsste auch auf verschiedenen Bildschirmgrößen und unterschiedlichen Layout-Ausrichtungen gut funktionieren. Zum Beispiel würde ich die iPad-Tastatur auf dem iPhone nicht verwenden wollen, und es ist nicht schön, die iPhone-Tastatur auf dem iPad zu verwenden. Sie haben aus einem bestimmten Grund unterschiedliche Tastaturen. Vor allem bedeutet dies, dass alles auf dem iPad und iPhone eine Tastatur verwendet, außer Ace. Kurz gesagt, Benutzer haben bereits eine Tastatur, die sie erwarten, und in vielen Fällen ist sie angepasst (z. B. als geteilte Tastatur).

Meine Empfehlung wäre, einfach die Tastatur zum Laufen zu bringen, da ich davon ausgehen würde, dass dies weniger Arbeit ist als das Erstellen einer benutzerdefinierten Tastatur. Dann kümmern Sie sich in Zukunft darum, eine benutzerdefinierte Tastatur als separates Problem zu erstellen. Es würde Ihnen auch ermöglichen, optional als Alternative zu einer benutzerdefinierten auf die Betriebssystemtastatur zurückzugreifen, z. B. wenn sie auf einem bestimmten Gerät nicht gut funktioniert.

Diese Seite sagt auch, dass Sie die automatische Vervollständigung und die automatische Großschreibung für bestimmte Eingaben deaktivieren können :

Eine benutzerdefinierte Tastatur kann auch nicht die volle Bildschirmbreite verwenden, wenn Ace in einem iframe platziert wird.

Das mag wie ein Eckfall klingen, aber sowohl JSFiddle als auch JS.do.it ermöglichen es Ihnen, Editoren in iframes auf anderen Websites einzubetten, und das würde ich gerne selbst tun.

@PlayMyCode - Seconded: Eine benutzerdefinierte Tastatur wäre aus vielen der von Ihnen genannten und weiteren Gründen eine extrem schlechte Idee.

@PlayMyCode - Ich stimme zu, benutzerdefinierte Tastatur klingt gefährlich. Ich vermute auch, dass diejenigen, die dies vorgeschlagen haben, wenig bis gar keine Erfahrung mit der Arbeit mit iOS-APIs haben. Aber ich könnte mich irren, ich gehe einfach von dem aus, was @cranic über ios.showKeyboard() gesagt hat, die nativen APIs haben nichts Äquivalentes dazu ... Das nächste wäre, becomeFirstResponder auf einem UITextInput aufzurufen Kontrolle ...aber ich schweife ab.

Dies sollte durchaus machbar sein, wahrscheinlich mit wenig Aufwand. Ich vermute, es geht darum, einem Element den Fokus zu geben, das contenteditable gesetzt hat. Ab iOS 5.0 wird contenteditable unterstützt, siehe ganz am Ende von Erstellen von kompatiblen Webinhalten

Es gibt ein JavaScript zum Bearbeiten von Code in einem Browser, der unter iOS eine Tastatur auslöst: CodeMirror, siehe zB http://codemirror.net/mode/r/index.html für eine Demo (funktioniert auf dem iPhone) und codemirror.net für allgemein. Vielleicht gibt es etwas in ihrem Code, das dem iOS-Support in Bestform helfen könnte?

@bertoltmeyer , CodeMirror basiert auf Textareas, deshalb kann es die iOS-Tastatur öffnen, ace ist viel komplizierter...

@cranic eigentlich ist Codemirror2 dem ace sehr ähnlich und verwendet das gleiche textareas
Wenn Codemirror2 auf dem iPad funktioniert, sollte es nicht schwer sein, Ace zu reparieren, um auf die gleiche Weise zu arbeiten

Ich schreibe aus der Perspektive eines R-Statistikers, der - wie Tausende andere - RStudio zum Codieren verwendet. RStudio ist die beliebteste IDE für R und basiert auf ace. Wenn ace iOS unterstützt, würde dies auch RStudio Server tun. In dieser idealen Welt könnte ich einfach von meinem iPad aus auf unseren RStudio-Server zugreifen und von dort aus alle meine Codierungen durchführen. Ich (und Tausende anderer R-Typen) müssten meinen Laptop nicht mehr benutzen. Also im Ernst, die fehlende Unterstützung von ace für iOS ist der _einzige_ Grund, warum ich immer noch einen Laptop mit mir herumtrage und ich bin mir sicher, dass es viele andere Leute wie mich gibt. Wenn ich also Javascript sprechen würde, was ich nicht tue, würde ich mit höchster Priorität daran arbeiten. Aber da ich nicht in js codieren kann, kann ich nur sagen, bitte, bitte, bitte kann jemand versuchen, dies zu beheben. Seufzen. Ich (und andere) würde bei Bedarf wirklich einen Kickstarter zu diesem Thema unterstützen.

Hey, ich habe mir den Code kurz angeschaut, aber ich sehe nur div s; wo ist das canvas ?

Ass hat nie ein canvas , es war ein Bespin

mit 2f6a6ce7e0992a2eccbb8a517aa2d6f4954f1214 wird nicht aus der Sicht gescrollt.

btw. ein Grund mehr, eine virtuelle Tastatur zu machen

Ich stimme @bertoltmeyer der Begeisterung zu, Ace auf iOS zu bringen, damit RStudio auf einem iPad verwendet werden kann.

Ich würde gerne sehen, dass dies auch auf einem iPad funktioniert - es würde eine _viele_ Funktionalität in nachgelagerten Anwendungen ermöglichen (ich bin auch über RStudio hierher gekommen, habe aber gerade festgestellt, dass ACE in einigen anderen Webtools verwendet wird, die ich verwende sporadisch, also würde dies für mich viele verschiedene Probleme lösen).

Wie gewinnen wir dafür einen Kickstarter für ähnliche Projekte? Ich bin bereit
Lege jetzt $100 in den Pot
Auf der Schnittstellenseite - Prompt auf iOS (einem SSH-Client) hat eine großartige Tastatur
die besser für Systemadministratoren/Programmierung geeignet ist als das Standard-iOS-Layout.

Am Do, 10. Mai 2012 um 5:34 Uhr, Rui Carmo <
[email protected]

schrieb:

Ich würde gerne sehen, dass dies auch auf einem iPad funktioniert - es würde ein _lot_ ermöglichen.
der Funktionalität in nachgelagerten Anwendungen (ich bin auch hierher gekommen über
RStudio, habe aber gerade festgestellt, dass ACE in einigen anderen Webtools verwendet wird
sporadisch verwenden, daher würde dies für mich viele verschiedene Probleme lösen).


Antworten Sie direkt auf diese E-Mail oder zeigen Sie sie auf GitHub an:
https://github.com/ajaxorg/ace/issues/37#issuecomment -5612400

@velniukas Gute Idee mit Kickstarter, ich wäre nicht überrascht, wenn einige Leute (wie ich) für so ein Projekt spenden würden.

Leider kann ich keine Zeit für die Entwicklung eines Fixes festlegen
gerade jetzt, aber ich wäre bereit, bei der Einrichtung eines solchen Projekts mit zu helfen
einige Mitarbeiter.

Am Do, 10. Mai 2012 um 8:01 AM, Mike Lawrence <
[email protected]

schrieb:

@velniukas Gute Idee mit Kickstarter, würde mich nicht wundern, wenn ziemlich
wenige Leute (wie ich) würden für ein solches Projekt spenden.


Antworten Sie direkt auf diese E-Mail oder zeigen Sie sie auf GitHub an:
https://github.com/ajaxorg/ace/issues/37#issuecomment -5615069

Ich würde auch mindestens 200 USD in ein Kickstarter-Projekt einzahlen, um die Kompatibilität mit ace iOS zu gewährleisten. Ich bin mir sicher, dass wir dafür einiges an Geld von der R-Community aufbringen könnten. Ich kann nicht zur Programmierung beitragen, weil ich nicht genug js spreche, aber ich bin bereit, beim Fundraising in der R-Community zu helfen, wenn jemand einen Kickstarter in Gang bringt. @velniukas ,

Wird tun - jeder, der daran interessiert ist, bei der Einrichtung eines Kickstarters zu helfen - schreibt mir eine PN

Beifall
Steve
10xEngineer.me

Am Do, 10. Mai 2012 um 14:59 Uhr, Bertolt Meyer <
[email protected]

schrieb:

Ich würde auch mindestens 200 USD in ein Kickstarter-Projekt für ace iOS einzahlen
Kompatibilität. Ich bin mir sicher, dass wir einiges aufbringen könnten
Geld dafür von der R-Community. Ich kann nicht zum beitragen
Codierung, weil ich nicht genug js spreche, aber ich bin bereit, dabei zu helfen
Fundraising in der R-Community, wenn jemand einen Kickstarter in Gang bringt.
@velniukas ,
sie bezüglich der Einrichtung eines solchen Projekts kontaktieren?


Antworten Sie direkt auf diese E-Mail oder zeigen Sie sie auf GitHub an:
https://github.com/ajaxorg/ace/issues/37#issuecomment -5619266

Es geht nicht um Geld, sondern darum, genügend Entwicklungskapazitäten dafür zu haben.

Ich weiß – aber manchmal kann Geld helfen, Menschen zu motivieren, um Kapazitäten freizugeben. ;-)

Tatsache ist, dass dies ein harter Job ist und jeder Prioritäten hat. Machen Sie dies richtig, indem Sie großartige Talente einstellen. Es ist ein kleiner Preis zwischen uns allen.

von meinem Iphone gesendet

Am 10. Mai 2012 um 22:18 Uhr schrieb Jan

Es geht nicht um Geld, sondern darum, genügend Entwicklungskapazitäten dafür zu haben.


Antworten Sie direkt auf diese E-Mail oder zeigen Sie sie auf GitHub an:
https://github.com/ajaxorg/ace/issues/37#issuecomment -5626268

Eine Möglichkeit wäre, eine Beschreibung dessen, was zu tun ist, auf vWorker.com zu veröffentlichen und Angebote einzuholen, damit wir ein Gefühl dafür bekommen, wie viele Entwickler dafür und zu welchen Preisen zur Verfügung stehen.

OMG, ich wünschte, ich könnte mich von Updates in diesem Thread abmelden...

@Gozala schätze du suchst unten auf der Seite nach einer Antenne

kann jemand, der ein ipad hat, http://c9.io/nightwing/ace/workspace/kitchen-sink.html testen?
Es ist nur eine Verbesserung für Ime, muss aber auch das Tippen auf dem iPad verbessern

@nightwing- Tastatur wird auf dem iPad nicht

@nightwing Oh danke :D Du hast meinen Tag gemacht!

@nightwing Vielleicht @fjakobs, wenn er diese Woche nach San Francisco kommt. Es ist extrem einfach, die Tastatur unter iOS 5 anzuzeigen: http://c9.io/gjtorikian/ace/workspace/build/kitchen-sink.html Fügen Sie einfach ein contenteditable zum Körper hinzu, Boom, fertig .

Die Navigation funktioniert jedoch nicht, was offensichtlich schwieriger ist. Es sitzt nur bei {row: 0, column: 0} . Ich denke, es hat etwas mit <textarea> zu tun, das das erste Kind von ace_editor , das als eine Art Cursor zu fungieren scheint.

+1 für iOS-Kompatibilität

Bitte beachten Sie den Commit vom 15. Januar 2011 im
https://github.com/javruben/ace/commits/master

@Gozala Sie können Benachrichtigungen am Ende dieser Seite mit dem Link "Benachrichtigungen für dieses Problem deaktivieren" abbestellen.

In Bezug auf frühere Kommentare von Mitgliedern der R-Community habe ich die R-Studio-Serverversion 0.96.228 auf Ubuntu installiert und Wireshark verwendet, um den eingehenden Netzwerkverkehr zu untersuchen. Ich habe mich mit Safari erfolgreich beim R-Studio-Server auf dem iPad angemeldet. Die Tastatur erscheint jetzt gut, sowohl in Textfeldern (zB für die Suche) als auch im Browserfenster, das die R-Konsole enthält. Das Problem tritt auf, wenn beim Tippen in den Bereich mit der R-Konsole die Eingabetaste gedrückt wird: Der iPad-Browser sendet FIN, ACK, was dazu führt, dass die R-Studio-Serveranwendung die Sitzung zurücksetzt. Irgendeine Idee, was das verursacht?

Alle Updates dazu – ich bin dafür, ein Kopfgeld für dieses Feature anzubieten – wenn wir geeignete Entwickler finden, die das Problem verstehen.

Sie können der Liste der Personen, die ACE mit mobilen Browsern, insbesondere Tablets, arbeiten sehen möchten, einen weiteren Namen hinzufügen. Ich bin mir jedoch sicher, dass dies keine triviale Aufgabe ist. Was können diejenigen von uns tun, die daran interessiert sind, dies zu sehen, aber nicht über die JavaScript-Fähigkeiten verfügen, um dies zu erreichen? Ich würde gerne Geld in ein Kickstarter-Projekt stecken, wenn es helfen würde.

/cc @javruben

Das letzte Mal, als ich daran gearbeitet habe (zugegeben vor Jahr(en?)) habe ich auf dem iPhone getestet und die Tastatur wurde angezeigt. Die Eingabe funktionierte, aber der Cursor war versetzt und ich glaube, das Einfügen eines \n würde zwei einfügen.

Folgende Probleme sind zu lösen:

  1. Tastatur zum Anzeigen
  2. Jede Eingabeinteraktion muss getestet werden
  3. Auswahl mit Touch-Ereignissen
  4. Für ein schnelles Scrollen sollte ein neuer Renderer ohne virtuelles Viewport implementiert werden
  5. Fügen Sie möglicherweise eine gefälschte Tastatur hinzu, um schneller auf die Tasten zuzugreifen, die vom Sprachmodus verwendet werden (dynamisch)

Bitte kommentieren Sie, wenn Sie bereit und in der Lage sind, bei einer dieser Aufgaben mitzuhelfen. Ich werde sehen, welche anderen Ressourcen ich sammeln kann.

Ruben,

Ich habe keinen iOS-Entwickler zur Hand - aber einer meiner Web-Jungs sollte einer sein
in nicht allzu ferner Zukunft helfen können, sobald wir die nächste Veröffentlichung in
etwa 2-3 Wochen.

Grüße
Steve

Am Mi, 1. August 2012 um 1:09 AM, Ruben Daniels <
[email protected]

schrieb:

Als ich das letzte Mal daran gearbeitet habe (zugegeben vor Jahr(en?)) habe ich auf dem
iphone und ich haben die tastatur angezeigt. Das Tippen funktionierte, aber der Cursor war
versetzt und ich glaube, das Einfügen eines \n würde zwei einfügen.

Folgende Probleme sind zu lösen:

  1. Tastatur zum Anzeigen
  2. Jede Eingabeinteraktion muss getestet werden
  3. Auswahl mit Touch-Ereignissen
  4. Damit das Scrollen schnell ist, sollte ein neuer Renderer ohne a . implementiert werden
    virtuelles Ansichtsfenster
  5. Fügen Sie möglicherweise eine gefälschte Tastatur hinzu, um schneller auf die Tasten zugreifen zu können, die von der . verwendet werden
    Sprachmodus (dynamisch)

Bitte kommentieren Sie, wenn Sie bereit und in der Lage sind, bei einer dieser Aufgaben zu helfen
Aufgaben. Ich werde sehen, welche anderen Ressourcen ich sammeln kann.


Antworten Sie direkt auf diese E-Mail oder zeigen Sie sie auf GitHub an:
https://github.com/ajaxorg/ace/issues/37#issuecomment -7404954

Großartige Neuigkeiten! Ich möchte nur sagen, dass wir immer noch zuschauen und aufgeregt sind
Dies. Ich sehe unglaubliche Möglichkeiten, das iPad zu unterstützen. ich nicht wirklich
ich muss Code in der Cloud entwickeln, wenn ich einen Mac bei mir habe
Fingerspitzen. Ich hänge zu sehr an meinem Toolset. Aber die Fähigkeit, sich zu entwickeln
mit meinem iPad ändert sich alles. Danke, dass du auf dem Laufenden bleibst und
etwas Unglaubliches tun! Sag Bescheid, wenn ich helfen kann.

Am Di, 31. Juli 2012 um 20:02 Uhr, velniukas <
[email protected]

schrieb:

Ruben,

Ich habe keinen iOS-Entwickler zur Hand - aber einer meiner Web-Jungs sollte einer sein
in nicht allzu ferner Zukunft helfen können, sobald wir die nächste Veröffentlichung in
etwa 2-3 Wochen.

Grüße
Steve

Am Mi, 1. August 2012 um 1:09 AM, Ruben Daniels <
[email protected]

schrieb:

Als ich das letzte Mal daran gearbeitet habe (zugegeben vor Jahr(en?)) habe ich auf dem
iphone und ich haben die tastatur angezeigt. Das Tippen hat funktioniert, aber der Cursor
war
versetzt und ich glaube, das Einfügen eines \n würde zwei einfügen.

Folgende Probleme sind zu lösen:

  1. Tastatur zum Anzeigen
  2. Jede Eingabeinteraktion muss getestet werden
  3. Auswahl mit Touch-Ereignissen
  4. Damit das Scrollen schnell ist, sollte ein neuer Renderer implementiert werden, ohne dass
    ein
    virtuelles Ansichtsfenster
  5. Fügen Sie möglicherweise eine gefälschte Tastatur hinzu, um schneller auf die Tasten zugreifen zu können, die von der . verwendet werden
    Sprachmodus (dynamisch)

Bitte kommentieren Sie, wenn Sie bereit und in der Lage sind, bei einem von zu helfen
diese
Aufgaben. Ich werde sehen, welche anderen Ressourcen ich sammeln kann.


Antworten Sie direkt auf diese E-Mail oder zeigen Sie sie auf GitHub an:
https://github.com/ajaxorg/ace/issues/37#issuecomment -7404954


Antworten Sie direkt auf diese E-Mail oder zeigen Sie sie auf GitHub an:
https://github.com/ajaxorg/ace/issues/37#issuecomment -7414813

Rostiger Zarse
http://LeVo.us
[email protected]
m: 404-510-1134

Darauf freue ich mich auch. Erstellen einer App, die eine Codebearbeitung im Web erfordert. Das ist so ziemlich das Einzige, was mich daran hindert, es in die reale Welt auszusenden.

@velniukas irgendwelche Updates dazu? Es sieht so aus, als ob es so viele Leute gibt, die diese Funktion anfordern, und ziemlich viele Leute, die bereit sind zu helfen. Lass uns organisieren und loslegen!

@tzikis +1

Dies muss das „Must-Have“-Feature Nummer eins sein. Wieso den? Denn ohne iPad-Kompatibilität wird die Glaubwürdigkeit von ACE vollständig untergraben und ist anfällig für konkurrierende Projekte, die dieses Maß an Unterstützung bieten können und tun. Als Unternehmen denken wir bereits über einen Wechsel nach. Immerhin wurde dieses Problem zum ersten Mal vor über 2 Jahren angesprochen und hat keine Anzeichen dafür gezeigt, dass es weggeht.

@emeraldspy Ich schätze die tote Ehrlichkeit, die du in dieser Situation

https://c9.io/site/blog/2012/09/the-ace-editor-hits-v1-0/

und die Liste der Probleme, auf die im Blog verwiesen wird:

https://github.com/ajaxorg/ace/issues?milestone=2&state=open

Antwort? Zilch. Während wir bei Cloud9 das Projekt betreuen, können wir uns dieser Arbeit nicht hauptberuflich widmen. Wir können nur schrittweise Verbesserungen vornehmen. Also was können wir tun? Was würde _du_ in dieser Situation tun? Wir haben gehofft, dass durch die Schaffung einer offeneren Lizenz mehr Beiträge zum mobilen Support gesammelt werden, aber dies ist noch nicht geschehen.

Wir sind der Meinung, dass ACE ein ganz besonderes Projekt ist und möchten, dass in Zukunft noch viele weitere Entwickler von seiner außergewöhnlichen Leistung und seinem ausgeklügelten Funktionsumfang profitieren. Aber wir können andere nicht _zwingen_, einfach mobile Unterstützung beizutragen. Deshalb haben wir uns ein paar Ideen ausgedacht, die funktionieren könnten:

  • Veranstalten Sie einen Wochenend-Hackathon, der sich der Implementierung dieser Funktionen widmet
  • Arbeiten Sie direkt mit einem anderen Unternehmen zusammen, das ACE verwendet und Entwicklungsressourcen zuweisen kann
  • Überarbeiten Sie unsere Werbematerialien (wie ace.ajax.org), um diese Aufgabe mehr Aufmerksamkeit zu erregen

Dieses Projekt leidet möglicherweise unter dem "Bystander-Effekt". Das heißt, das Interesse an ACE ist so groß, dass jemand davon ausgeht, dass andere die neue Funktionsanforderung implementieren. Die Realität ist: Nur wenige Menschen tragen dazu bei. Natürlich lieben wir diese Beiträge und Fehlerbehebungen! Aber diese Beiträge haben sich nicht zu einem durchgängigen mobilen Support summiert. Derzeit funktioniert nur Android gut.

Wenn alle von Ihnen, die dies lesen, Ideen haben, tragen Sie sie bitte hier ein. Wir wollen nicht, dass diese Mission in einem leisen "Jemand anderes kümmert sich"-Wimmern stirbt. Wir sind motiviert, wir haben nur nicht die Ressourcen, um das alles selbst zu machen. Deshalb brauchen wir

Lassen Sie uns also schon etwas unternehmen! Und wenn Sie mir direkt eine E-Mail senden möchten, um Ihre eigenen Entwickler für diese Bemühungen [email protected]. Und ich bin fast immer in #ace auf irc.freenode.net. Lass uns gehen!

Matt

Wir haben einige Analysen der erforderlichen Arbeiten durchgeführt und sind zu einigen gekommen
Schlussfolgerungen, die dies später auf unsere Roadmap setzen:

  1. Die Navigation wird schwierig
  2. Das DOM-Handling ist auf Mobilgeräten schwierig und langsam
  3. Bildschirmtastaturen von Tablets sind nicht gut für Programmieraufgaben eingerichtet
  4. Mobile wurde nicht mehr so ​​oft gebraucht - mit Mac Airs & Ultrabooks, a
    viel mehr Leute tragen vollwertige Computer mit sich herum als ein Tablet und
    eine Tastatur, für Programmieraufgaben

Wir dachten, dass, wenn wir diesen Weg einschlagen, eine Hybrid-App vielleicht
erforderlich sein, um einige dieser Probleme zu umgehen.
Können Sie mich direkt kontaktieren, um die weitere Vorgehensweise zu besprechen?

Grüße
Steve
http://10xEngineer.me
Skype: steve_messina

Am Mittwoch, den 3. Oktober 2012 um 3:48 Uhr schrieb Matt [email protected] :

@emeraldspy https://github.com/emeraldspy Ich schätze die tote Ehrlichkeit
Sie nehmen mit dieser Situation. Die Realität ist: Sie haben Recht! Handy, Mobiltelefon
Unterstützung in ACE ist ein Muss. Tatsächlich haben wir 2 Wochen bei der Community angerufen
vor, um diese Bemühungen zu unterstützen:

https://c9.io/site/blog/2012/09/the-ace-editor-hits-v1-0/

und die Liste der Probleme, auf die im Blog verwiesen wird:

https://github.com/ajaxorg/ace/issues?milestone=2&state=open

Antwort? Zilch. Während wir bei Cloud9 das Projekt leiten, können wir es nicht
widmen wir uns dieser Aufgabe ganztägig. Wir können nur schrittweise machen
Verbesserungen. Also was können wir tun? Was würde _du_ in dieser Situation tun?
Wir haben gehofft, dass durch die Schaffung einer offeneren Lizenz mehr gesammelt wird
Beiträge zur mobilen Unterstützung, aber dies muss noch geschehen.

Wir glauben, dass ACE ein wirklich besonderes Projekt ist und wir wollen viele weitere Entwickler
in Zukunft von seiner außergewöhnlichen Leistung und ausgereiften
Feature-Set. Aber wir können andere nicht _zwingen_, einfach mobil beizutragen
Unterstützung. Deshalb haben wir uns ein paar Ideen ausgedacht, die funktionieren könnten:

  • Veranstalten Sie einen Wochenend-Hackathon, der sich der Implementierung dieser Funktionen widmet
  • Arbeiten Sie direkt mit einem anderen Unternehmen zusammen, das ACE verwendet und Entwicklern widmen kann
    Ressourcen
  • Überarbeiten Sie unsere Werbematerialien (wie ace.ajax.org), um dies zu erreichen
    Aufgabe für mehr Augäpfel

Dieses Projekt leidet möglicherweise unter dem "Bystander-Effekt". Das heißt, da
ist das Interesse an ACE so groß, dass jemand andere übernimmt
wird die neue Feature-Anfrage implementieren. Die Realität ist: nur wenige Leute
dazu beitragen. Natürlich lieben wir diese Beiträge und Fehlerbehebungen! Aber die
Beiträge haben sich nicht zu einem durchgängigen mobilen Support summiert. Zur Zeit
nur Android funktioniert gut.

Wenn alle von Ihnen, die dies lesen, Ideen haben, tragen Sie sie bitte bei
Hier. Wir wollen nicht, dass diese Mission in einem stillen "Jemand anders wird" stirbt
kümmere dich darum" wimmert. Wir sind motiviert, wir haben einfach nicht die
Ressourcen, um dies alles selbst zu tun. Also _brauchen wir eure Unterstützung_!

Lassen Sie uns also schon etwas unternehmen! Und wenn du mir direkt eine E-Mail schreiben möchtest
Wenn Sie Ihre eigenen Entwickler für diese Bemühungen einsetzen möchten, tun Sie dies bitte: my
E-Mail ist [email protected]. Und ich bin fast immer in #ace auf irc.freenode.net.
Lass uns gehen!


Antworten Sie direkt auf diese E-Mail oder zeigen Sie sie auf Gi tHub an

Danke Steve! Ich habe dich bei Skype hinzugefügt. Für alle, die an den Ergebnissen unseres Gesprächs interessiert sind (und alle zukünftigen Gespräche, die wir mit anderen führen, die bereit sind, einen Beitrag zu leisten) werden wir Updates in einem öffentlichen Forum (prob GitHub) veröffentlichen.

@mattpardee Bitte stellen Sie sicher, dass Sie alle Updates veröffentlichen. Im Namen des Codebender-Teams hatten wir Interesse, an einem Hackathon teilzunehmen, wie Sie es in Ihrer Antwort an @emeraldspy vorgeschlagen haben

Lass uns das verdammt nochmal machen

@tzikis Super . Wir besprechen Optionen mit Steve, aber ein länderübergreifender Google Hangout-Hackathon am Wochenende klingt nach der perfekten Möglichkeit, dies zu erreichen. Wir prüfen Optionen. Bleiben Sie dran!

Update: Um klarer zu machen, was wir besprechen, hat Steve einige Untersuchungen zur Leistung des mobilen Supports angestellt und wir untersuchen, wie leistungsfähig ein mobiler Client sein kann.

Wenn wir diesen Wochenend-Hackathon machen, bin ich gezwungen, ihn innerhalb der nächsten zwei Wochen zu schmieden, während das Eisen heiß ist. Idealerweise stimmen wir uns mit @fjakobs ab , um eine Anleitung zu Best Practices zu geben. Erwarten Sie, bald mehr darüber zu sehen.

Ich verwende ACE nur als Syntax-Highlighter für XML-Dateien (schreibgeschützt, keine Bearbeitung).
Alles funktioniert gut, aber das Scrollen in mobilen Geräten.

Die Lösung dieses Problems sollte ein Anfang sein. Das Scrollen ist in ACE aufgrund des teilweisen Renderns von Codezeilen ein großes Problem.
Zumindest alles andere funktioniert bei mir auf einem iOS-Gerät (mehr oder weniger).
Andernfalls könnten Sie eine Möglichkeit bieten, die gesamten Zeilen zu rendern (zumindest für kleine bis mittlere Dateien).
und versuchen, das Problem zu lösen.

Ich bin auch offen für die Zusammenarbeit in einem Hackaton. Lass es uns tun!

Nur ein Kopf hoch. Ein Hackathon wird ein nicht triviales Ereignis sein. Wird ein ... sein
Woche oder mindestens drei, je nachdem, wen wir an Bord holen können.
Zu gewinnende Themen:

  • Vereinfachung der div-Struktur zur Verbesserung der Leistung
  • Aufrufen der Tastatur / benutzerdefinierten Tastatur
  • Navigation

Evtl. eine Hybridlösung mit Tastatur nach dem Vorbild der
Eine hervorragende iOS-Eingabeaufforderung ist möglicherweise der beste Weg.

Am Donnerstag, den 4. Oktober 2012 um 21:30 Uhr schrieb avillegasn [email protected] :

Ich verwende ACE nur als Syntax-Highlighter für XML-Dateien (schreibgeschützt, nein
Bearbeitung).
Alles funktioniert gut, aber das Scrollen in mobilen Geräten.

Die Lösung dieses Problems sollte ein Anfang sein. Scrollen ist ein großes Problem in ACE
aufgrund des teilweisen Renderns von Codezeilen.
Zumindest alles andere funktioniert bei mir auf einem iOS-Gerät (mehr oder weniger).
Andernfalls könnten Sie eine Möglichkeit bieten, die gesamten Zeilen zu rendern (zumindest für
kleine bis mittlere Dateien)
und versuchen, das Problem zu lösen.

Ich bin auch offen für die Zusammenarbeit in einem Hackaton. Lass es uns tun!


Antworten Sie direkt auf diese E-Mail oder zeigen Sie sie auf Gi tHub anhttps://github.com/ajaxorg/ace/issues/37#issuecomment -9141191.

Hallo @velniukas.

Wir sind dabei, einen Veranstaltungsort in SF festzunageln, um den Hackathon zu koordinieren; Wir schätzen ungefähr 4 Wochen ab jetzt. Ich stelle Anleitungsmaterialien von @nightwing und @fjakobs zusammen und entwickle eine Website, um dafür zu werben. Wir verfolgen die Idee, es über ein paar Tage zu halten. Der erste Tag widmete sich dem Behandeln möglichst vieler Funktionen und der zweite dem Zusammenführen dieser Änderungen in einem zusammenhängenden Teil.

Bisher haben wir Entwickler aus Hongkong, Amsterdam, Griechenland, Armenien und SF interessiert. Deshalb fördern wir diese Idee als Internationaler Hackathon (vielleicht der erste seiner Art?).

@nightwing hat Ideen, wie wir eine leistungsfähigere mobile Implementierung erhalten können, die sich von der Art und Weise unterscheidet, wie Desktop-Browser mit dem virtuellen Renderer umgehen. Wir werden alle über seine Anleitung auf dem Laufenden halten und sehr bald ein Wochenende festmachen.

Mein Team 5-7 Entwickler ist in: SF, Prag, Ukraine, Russland, Indien, Moskau, HK. 4
Wochen ist perfekt für uns. Außerdem runde ich die lokale Startup-Entwicklung zusammen
Community hier in Hongkong, wenn wir eine Agenda und grobe Aufgaben aufstellen können
mindestens 2 Wochen vorher. Kann wahrscheinlich einen der Co-Working Spaces sponsern
dafür.

Steve
http://10xEngineer.me

Am Freitag, den 5. Oktober 2012 um 00:35 Uhr schrieb Matt [email protected] :

Hey @velniukas https://github.com/velniukas.

Wir sind dabei, einen Veranstaltungsort in SF festzunageln, um die
Hackathon; Wir schätzen ungefähr 4 Wochen ab jetzt. ich stelle zusammen
Anleitungsmaterial von @nightwing https://github.com/nightwing und
@fjakobs https://github.com/fjakobs und Entwicklung einer Website zur Förderung
es. Wir verfolgen die Idee, es über ein paar Tage zu halten. Der Erste
Tag, an dem so viele Funktionen abgedeckt werden, und der zweite Tag, um
diese Veränderungen zusammen zu einem zusammenhängenden Stück.

Bisher haben wir Entwickler aus Hongkong, Amsterdam, Griechenland, Armenien und
SF interessiert. Deshalb fördern wir diese Idee als Internationaler Hackathon
(vielleicht der erste seiner Art?).

@nightwing https://github.com/nightwing hat Ideen, wie wir einen bekommen können
leistungsstärkere mobile Implementierung, die sich von der unterscheiden würde
die Art und Weise, wie Desktop-Browser Dokumente verarbeiten. Wir halten alle auf dem Laufenden
seiner Führung und nageln sehr bald ein Wochenende fest.


Antworten Sie direkt auf diese E-Mail oder zeigen Sie sie auf Gi tHub an

Fantastisch, Steve! Dies könnte zu einem wegweisenden Ereignis werden. Angesichts der Zeitzonen würde ich es vorziehen, sehr spät am Freitag zu beginnen, am frühen Samstag PST und 24 Stunden lang zu gehen. Die Site, an der ich arbeite, wird Teams verwalten, um bestimmte Aufgaben auszuwählen, damit niemand die Arbeit dupliziert. Wenn jemand dies schon einmal getan hat oder Ideen hat, wie dies _am besten_ gehen kann, lassen Sie es mich wissen.

Zu Ihrer Information: Ich stelle noch die Details dieser Veranstaltung zusammen. Festlegen von Terminen, Zusammenstellen eines Veranstaltungsortes, E-Mail-Versand von potenziellen Teams und Aufbau der Website. Wenn ich weitere interessante Informationen habe, poste ich hier. Ich freue mich darauf, dies zu ermöglichen!

Das wäre toll. Derzeit muss ich codemirror für mobile Zwecke verwenden. Würde gerne ace für alle Bedürfnisse verwenden.

OK, alle, die sich dieses Problem ansehen. Wir haben einen ersten Schritt in die richtige Richtung mit der iOS _scrolling_ Unterstützung. Bevor Sie den untenstehenden Link testen, sollten Sie einige Betriebsanweisungen und Vorbehalte beachten:

  1. Warten Sie, bis die gesamte Datei geladen ist
  2. Nachdem die Datei geladen wurde, klicken Sie ganz unten links auf das Kontrollkästchen "Mobiler Modus".
  3. Ändern Sie nicht die Orientierung.
  4. Beginnen Sie mit dem Scrollen
  5. Ich habe dies auf iPad v1 und iPhone 5 getestet. Das iPhone hat brillant funktioniert, aber iPad 1 war ziemlich schrecklich. Mehr dazu gleich.

https://c9.io/c9developer/ace/workspace/kitchen-sink.html

Wie wurde das erreicht

  • Ich habe ein div erstellt, das den Editor mit dem folgenden CSS überlagert:
#scroll_div {
     -webkit-overflow-scrolling: touch;
     overflow-y: scroll;
     pointer-events: none;
}

Regel 1 ist für das reibungslose berührungsbasierte Scrollen erforderlich, und Regel 3 besteht darin, dass das Overlay oben sitzt, aber keine der Ereignisse empfängt, die wir an die Elemente unten senden möchten. Dies lässt die Möglichkeit offen, in Zukunft eine genaue Tippunterstützung einzubauen.

  • Erstellt einen benutzerdefinierten Trägheitsalgorithmus. Dies ist der einfachste Algorithmus, den ich entwickeln konnte, der "nah genug" an das herankommt, was iOS nativ tut. Es iteriert einfach über ein Intervall von 24 ms und verringert die Geschwindigkeit für jedes Intervall um 94,9%. Die Anfangsgeschwindigkeit wird basierend auf dem Abstand in Pixeln zwischen der letzten Berührung und der vorletzten Berührung eingestellt (die Berechnung könnte wahrscheinlich verbessert werden, indem man auch die Anzahl der Millisekunden zwischen den letzten beiden Berührungen einbezieht).
  • Immer wenn sich die neueste Position aus dem Intervall ändert, wird auch das durch Berührung scrollbare Overlay aktualisiert. Dies ist so, dass der benutzerdefinierte Algorithmus Vorrang vor dem iOS-Algorithmus hat und die Divs nicht aus der Synchronisation geraten.

Einflüsse

Joe Hewitt hat diese Ideen während seiner Arbeit zum Scrollen ausführlich untersucht, wie hier gebloggt :

Warum habe ich die Scrollbarkeit nicht von vornherein verwendet? Ace hängt von einem virtuellen Ansichtsfenster ab und Joe hat schließlich Webkit-Animationen verwendet. Die beiden sind nicht kompatibel. Ich muss die "scrollTop" -Position von Ace einstellen, die dann den virtuellen Renderer aktualisieren muss, um die Position zu ändern. Ich hätte Joes Code in das scrollbare div hacken und dann die Ergebnisse seiner 3D-Transformationen auf die Ace-Ebene anwenden können, aber eh - das Abenteuer hat mehr Spaß gemacht :-)

Zukunft

Wie bereits erwähnt, dient dies nur zum Scrollen. Da brauchen wir noch eine genaue Tippunterstützung.

Für modernere iOS-Geräte, die die Geschwindigkeit bewältigen können, funktioniert dieser Ansatz bemerkenswert gut. Aber es gibt definitiv Optimierungen, die gemacht werden können. Wir werden weiterhin Optionen für alte und neue Hardware untersuchen.

Da dies nur eine Demo ist und nicht Teil der primären Ace-Codebasis ist, besteht der nächste Schritt darin, sie in den Kern zu integrieren.

Ich freue mich darauf, die Erfahrungen Ihrer Jungs mit verschiedenen Geräten und Feedback zu sammeln, wie dies verbessert werden kann. Prost~

Hey Matt,

Super glücklich zu berichten, dass dies auf meinem iPad4 heute viel stabiler ist als gestern. Gute Arbeit! Ich habe es auch auf meinem Samsung Galaxy Nexus mit Android 4.2 getestet und es sieht gut aus. (Bitte lassen Sie uns keine Lösung nur für iOS erstellen.) Das Einfügen von Text funktionierte auch auf Android einwandfrei, während mein iPad ein seltsames Problem mit dem doppelten Cursor hatte (aber ich konnte immer noch tippen.)

@mattpardee Das ist unglaublich!

Leider scheint es die Unterstützung für Android-Browser (Android v4.1.1) und Chrome Mobile (v18.0, Nov 2012) für mich vollständig zu unterbrechen. Diese Browser hatten vorher kleinere Probleme, aber jetzt bekomme ich nur ein großes weißes div anstelle von Ace.

Genial!!

@lennartcl welches Gerät verwendest du? Und das passiert nur, wenn Sie die Option Mobiler Modus aktivieren?

@mattpardee Das ist auf dem Galaxy S3 und passiert unabhängig von der mobilen Option. Aber ich habe es heute tatsächlich noch einmal versucht, und jetzt scheint es in beiden Browsern wie zuvor zu funktionieren.

Toll! Jetzt kann ich mit der Weltherrschaft weitermachen.

Ich habe gerade Küchenspüle von Master auf iOS Simulator mit iPad iOS v5 ausprobiert und es scheint nicht mit der Bearbeitung zu beginnen.

Als ich mit meinem iPad 3 iOS 5.1 auf die Küchenspüle der Live-Site stieß, wurde es bearbeitet, versucht jedoch immer, die Buchstaben groß zu schreiben. Es sieht so aus, als ob es sich ständig in einem Auswahlmodus mit den blauen Schaltflächen zum Starten und Stoppen befindet.

Ist dies der neueste Code in Master oder sollten wir uns einen Branch- oder Pull-Request ansehen?

Hallo Jeff,

Schauen Sie sich den Feature-/ioscroll-Zweig an.

https://github.com/ajaxorg/ace/tree/feature/ioscroll

Dies sollte zumindest das Scrollen im Editor ermöglichen (und Sie müssen keine Optionen auswählen, um es zu aktivieren).

@mattpardee Ja, das hat das Scrollen im iOS-Simulator ermöglicht, aber ich konnte keine Möglichkeit finden, den Editor

Ja, noch in Arbeit, obwohl ich zugegebenermaßen nicht weiß, ob ich die Fähigkeit habe, das selbst zum Laufen zu bringen. Einiges davon bezieht sich auf Touch-Ereignisse, um den darunter liegenden Textbereich zu fokussieren oder zu verwischen, aber der Großteil der harten Arbeit würde darin bestehen, den Cursor-Handler zu aktualisieren. Der Abstand des Versatzes des Cursors von seiner wahren Bearbeitungsposition wächst zum Ende der Zeile hin an, also hat die Mathematik etwas Grundlegendes.

Hoffentlich ist jemand der Herausforderung gewachsen!

OK. Danke für das Update.

Gibt es eine Möglichkeit, zumindest zu erkennen, ob der Browser die Mindestanforderungen hat, um den Browser ACE auszuführen, damit ich auf Textarea zurückgreifen kann?

@jfromaniello du Modernizr verwenden

Modernizr is a JavaScript library that detects HTML5 and CSS3 features in the user’s browser.

@faceleg ja, aber welche Funktionen braucht ACE

Irgendein Update zur Cursorposition? Scrollen sieht gut aus.

Arbeitet hier noch jemand aktiv?

@MarkMurphy Um ehrlich zu sein, glaube ich nicht. Siehe den Kommentar von @mattpardee oben für den letzten Zustand.

Was das Scrollen angeht, wie sieht es umgekehrt aus?
Zum Beispiel ein Div erstellen, das groß genug ist, wie height: 10000px; und das in einem anderen, kleineren Div scrollen. Es ist nicht perfekt, obwohl natives Scrollen der Verwendung zusätzlicher Ressourcen zur Emulation vorzuziehen wäre. Siehe Dylan-Blog-Post "Making Ace Editor Fill the Available Space"

Zumindest wissen wir jetzt, wie die virtuelle Tastatur aussehen und sich verhalten sollte: http://www.textasticapp.com/

Nur neugierig: Wie war der Stand davon? Ist es immer noch ein ungelöstes Problem für iOS?

Wenn jemand motiviert ist, daran zu arbeiten, habe ich einen Hinweis und eine mögliche Problemumgehung. Das Problem scheint zu sein, dass die Tastatur nicht auftaucht, wenn der Ass-Textbereich per Touch ausgewählt wird. Es erscheint jedoch, wenn der Textbereich Teil eines Formulars ist und über die von iOS bereitgestellten Schaltflächen "Weiter" ... "Zurück" ausgewählt wird. Ich denke...

Mir ist dies vor einiger Zeit aufgefallen, konnte aber keine Zeit finden, es zu überprüfen. Also YMMV.

Meine Seite hat eine Auswahl, um den Sprachmodus des Editors zu ändern.

Beim ersten Laden der Seite wird das weiche Keyword nicht ausgelöst, wenn ich den Editor berühre.
ABER, nachdem ich die Sprache manuell aus der Auswahl geändert habe, dann wird der Editor berührt, um die Tastatur auszulösen.

hoffe das wird helfen.

Downstream-Fehler für Wikipedias Verwendung von Ace zum Bearbeiten von Vorlagencodemodulen: https://bugzilla.wikimedia.org/show_bug.cgi?id=55345

Als Workaround können wir Ace auf iOS auf die schwarze Liste setzen und vorerst einen einfachen Textbereich verwenden.

CodeAcademy.com verwendet Ace und sie haben es voll funktionsfähig auf dem iPad, komplett mit Auswahl. Ich kann das prüfen.

Gibt es Neuigkeiten zu diesem Thema?

Dieser Fehler unterbricht auch die

Hallo Leute, ist da draußen jemand?

+1 habe auch ein Problem mit dem Editor auf dem iPad

+1 – Wir verwenden den Markdown-Modus für den Editor und Kopieren/Einfügen ist eine große Sache, die Ace in iOS fehlt.

c9.io kann wegen dieses Fehlers nicht verwendet werden. Die Demo der Küchenspüle scrollt auch nicht (http://ace.c9.io/build/kitchen-sink.html). Passiert auf dem iPad und meinem Android Transformer (der für leichte Entwicklungsanforderungen großartig ist).

Für meine Web-App habe ich CodeMirror verwendet. Aufgrund der Fülle an Modi und Funktionen bin ich jedoch kürzlich auf ace umgestiegen. Der Mangel an mobilem Support veranlasst mich, meine Wahl zu überdenken.

Wurden Fortschritte bei der Aktivierung des Scrollens auf Mobilgeräten erzielt? Es funktioniert auf keinem iOS- oder Android-Gerät, das ich ausprobiert habe.

@mkaminsky11 +1. Ich entscheide mich auch zwischen CodeMirror oder Ace, und iOS-Support ist das, was mich zurückhält.

Wie @jakesankey sagte, verwendet codeacademy.com ace. Ich habe versucht, den Code durchzusehen, um zu sehen, wie er mit mobilen Geräten funktioniert, aber ohne Erfolg. Wäre es eine praktikable Lösung, sie zu kontaktieren und um Hilfe zu bitten?

Wir bedienen Orion auf dem Handy bei Codecademy.

Ist es jetzt behoben?

Auf meinem Asus Transformer funktioniert es einwandfrei, wenn ich "Desktop-Version anfordern". Leider merkt sich der Browser diese Einstellungen nicht.

+1

Hallo, nur als Referenz, ich verwende ace für mein Projekt. Das Problem mit der virtuellen Tastatur ist mühsam und ich lasse den Editor auf Inhaltsgröße festlegen. Möglicherweise liegt ein Leistungsproblem vor.

https://github.com/dai-shi/codeonmobile

Dies ist immer noch ein Problem, das auf http://3v4l.org/ zu sehen ist.

Dieses Problem blockiert auch PlayCanvas.com (iPad Air iOS 8), was schade ist, denn der Rest ist, wenn der Editor das iPad vollständig unterstützt, und insgesamt ein ziemlich verrücktes Beispiel dafür, was HTML5 sein kann!

+1. Derzeit wird eine Problemumgehung untersucht, bei der einige Bildlaufschaltflächen manuell erstellt werden, um mit scrollBy neben dem Editor zu sitzen http://ace.c9.io/#nav =api&api=virtual_renderer

+1 für Scroll-Probleme.

+1 für Scroll-Probleme

+1 für Scroll-Probleme.

+1 für Scroll-Probleme.

Hallo Leute, ich bin nicht gut / geduldig genug, um den Editor selbst zu reparieren, da das ganze Konzept von Touch vs. Maus anders ist. Aber mit dem folgenden Skript können Sie den ACE-Editor dazu bringen, auf Touch-Geräten (IOS / Android) zu scrollen. Fügen Sie es einfach in den Konfigurationsabschnitt des Editors ein (wo der Editor deklariert und Optionen hinzugefügt werden).

http://pastebin.com/1Rh7UDea

@ iq77 Was soll dieser Code tun? Ich versuche es und bisher macht es keinen Unterschied? Ich gehöre zu den Leuten, die wirklich möchten, dass dies auf Touch-Geräten normal funktioniert ...

@tluyben bei "touchstart" speichert es die x/y-Koordinaten des Touch-Ereignisses. On "touchmove" berechnet die Differenz zwischen Start und Ende und übergibt dann die x/y-Werte an den "Renderer" von ACE. Der Renderer übernimmt das Scrollen. Es funktioniert in meinem Skript, aber vielleicht müssen Sie einige Klassennamen usw. an Ihre eigenen Bedürfnisse anpassen. Außerdem ist dort etwas jQuery enthalten, das Sie möglicherweise ersetzen müssen.

Dies ist ein großartiger Thread, aber ich fand es schwierig zu sagen, (a) was die Natur des "Scrolling-Problems" ist, (b) welche Geräte/Betriebssystemversionen betroffen sind und (c) welche Problemumgehungen verfügbar sind. Wenn jemand bereit wäre, zusammenzufassen, wo diese stehen, wäre das großartig.

Ich habe gerade die Küchenspüle auf [iPad Air 2 mit iOS 8 und Safari 8] und [Nexus 10 mit Android 5.1 und Chrome 40] getestet und konnte sowohl horizontal als auch vertikal scrollen (im Querformat; ich habe nicht mit Geräten in getestet). hochkant). Schritte zum Repro:
1) Navigieren Sie zu http://ace.c9.io/build/kitchen-sink.html
2) Fügen Sie im Editorbereich eine Reihe von Zeilen hinzu (leere Zeilen funktionieren gut), bis mehr Zeilen vorhanden sind, als auf den Bildschirm passen.
3) Zoomen Sie bei Bedarf heraus, um den vollständigen Browser anzuzeigen. (Das Bearbeiten des Inhalts des Editorbereichs kann Sie automatisch vergrößern, wodurch es schwierig wird zu erkennen, ob Sie im Bereich scrollen oder nur die vergrößerte Ansicht verschieben.)
4) Wischen Sie ganz rechts im Editorbereich nach oben/unten. Es wird keine Bildlaufleiste angezeigt, aber der Inhalt des Editorbereichs sollte wie erwartet gescrollt werden.
5) Um hscroll zu testen, erstellen Sie eine lange Zeichenfolge, die breiter ist als das, was auf den Bildschirm passt; zoomen Sie bei Bedarf heraus; Wischen Sie am unteren Rand des Editor-Fensters nach links/rechts. Ich sehe eine verblassende Bildlaufleiste auf Android, aber keine Bildlaufleiste auf iOS ... aber Hscrolling funktioniert trotzdem auf beiden.

Ich habe die Probleme durchsucht und von dem, was ich herausfinden kann, ist dies der definitive Thread für alles, was mit der Berührung zu tun hat. Korrigieren Sie mich, wenn ich falsch liege, und ich werde weiter suchen / ein neues Problem einreichen.

iOS Touch ist anscheinend nicht in der Lage, das Kontextmenü in einem Ace-Kontext aufzurufen (bedeutsamerweise ermöglicht dies Ausschneiden + Einfügen). Normalerweise kann dies durch Antippen des Cursors ausgelöst werden, aber Ace überschreibt dieses Verhalten, um den Cursor stattdessen um ein Zeichen vorwärts zu bewegen.

@barneycarroll , dies scheint der berührungsbezogene Thread zu sein. Ich habe vor kurzem daran gearbeitet, zumindest eine Touch-Unterstützung für das Scrollen zu implementieren. Im Moment können Sie scrollen, wenn Sie nur über den rechten Bereich ganz rechts oder unten im Editor-Ansichtsbereich scrollen (wo sich die Scrollleisten befinden würden). Aber das ist keine praktikable Lösung.

Ich denke, ich bin auf dem Weg, etwas Touch-Unterstützung zu implementieren. Ich habe es am iOS-Simulator arbeiten lassen. Schauen Sie sich den Fork an (https://github.com/AStoker/ace), Sie müssen ihn derzeit zum Kompilieren erstellen (da dies der Quellcode ist), aber wenn Sie den Build-Anweisungen im Realm folgen, ist es ein Kinderspiel. Ich würde mich über etwas Hilfe bei Verbesserungen freuen, da Touch-Unterstützung im Moment anscheinend keine hohe Priorität hat (aber das ist der Vorteil von Open Source, wir können es selbst beheben). Wenn alles gut aussieht, werde ich eine Pull-Anfrage stellen, um es zu implementieren.

+1 für Kopieren/Einfügen in iOS. Das Problem ist die benutzerdefinierte Cursorbehandlung? Was wäre ein Angriffsplan, um das zu lösen?

IPhone 6 plus iOS 9.2 Public Beta scheint jetzt gut mit ace zu funktionieren. Das Scrollen funktioniert und das Bearbeiten funktioniert wie am Computer.

Benötigt nur Verbesserungen beim Kopieren und Einfügen.

Einfügen und Kopieren ist möglich, aber sehr schwierig.

http://www.apus.com
Am 19. November 2015, 10:52 Uhr, schrieb "paladox" [email protected] :

IPhone 6 plus iOS 9.2 Public Beta scheint jetzt gut mit ace zu funktionieren.
Das Scrollen funktioniert und das Bearbeiten funktioniert wie am Computer.

Benötigt nur Verbesserungen beim Kopieren und Einfügen.

Einfügen und Kopieren ist möglich, aber sehr schwierig.


Antworten Sie direkt auf diese E-Mail oder zeigen Sie sie auf GitHub an.

Ich habe Probleme mit den Pfeiltasten auf meiner IPad-Tastatur. Die Tastatur funktioniert in jeder Umgebung einwandfrei, aber wenn ich mich mit meinem Cloud 9 Server verbinde und mit der Programmierung beginne, werden die Pfeiltasten ignoriert. Kann ich sie irgendwo hinzufügen oder wie kann das behoben werden? Ich brauche den Pfeil sehr oft beim Codieren.

<div id="editor" class="page-content" contenteditable="true"></div>

Macht den Trick in iOS. Es scheint einfach nicht zu kommen, dass die Syntaxhervorhebung von Assembly_x86 funktioniert.

Wo muss ich diesen Code einfügen? Ich dachte, das muss in den user.settings sein, aber dort Es hat keine HTML-Teile

HTML in einem WebView.

Kann es in einem UIWebView nicht zum Laufen bringen 👎 Es startet ok, aber sobald ich versuche, den Cursor zu bewegen, schlägt alles fehl. Ich kann nicht schreiben, oder mit @jcss-org-il-Lösung ( <div id="editor" class="page-content" contenteditable="true"></div> ) bewegt sich der Cursor außerhalb des Editors.

Kann mir jemand helfen ein Rätsel zu lösen? Der GitHub-Online-Code-Editor, der angeblich auf Ace basiert (https://github.com/blog/905-edit-like-an-ace), ist erstaunlich. Es läuft einwandfrei auf dem iPad, auch mit einer Bluetooth-Tastatur, die Pfeiltasten funktionieren (einschließlich Strg-Linkspfeil, Alt-Linkspfeil usw.) und die Leistung ist großartig usw.

Hier ist ein Screenshot einer iPad-Bearbeitungssitzung der Datei README.md dieses Repositorys: (https://github.com/ajaxorg/ace/edit/master/Readme.md)

img_0819

Und doch können alle in diesem Thread (mich eingeschlossen) Ace nicht ohne Probleme auf einem iPad laufen lassen (zB Pfeiltasten funktionieren nicht). (Ich habe die gleichen Probleme wie hier gemeldet: https://github.com/ajaxorg/ace/issues/37#issuecomment-195258878)

Läuft GitHub eine benutzerdefinierte Version von Ace? Ist diese Version öffentlich verfügbar? Ich würde gerne laufen, was immer sie laufen! (Screenshot von DOM Inspector, der bestätigt, dass Ace unten zu laufen scheint.)

Ich danke dir sehr!
g

editing_ace_readme_md_at_master_ _ajaxorg_ace

@realgenekim aus dem Screenshot sieht es so aus, als ob github einen Textbereich auf dem iPad verwendet

@nightwing Faszinierende Theorie! Aber wenn Sie sich das Editor-Steuerelement ansehen, gibt es Zeilennummern, Ass-ähnliche Funktionen, die nicht nur ein Standard-HTML-Textbereich zu sein scheinen, wie Tabulatorbreite, Textumbruch ...

Bei genauerem Hinsehen bin ich mir ziemlich sicher, dass es sich um etwas Exotischeres als Textarea handelt!

@realgenekim Zeilennummern sind nur im zweiten Screenshot, der nicht wie ipad aussieht

@nightwing Heilige Kuh. Das ist so faszinierend – ich glaube, Sie haben absolut Recht. Ich werde versuchen, eine Bestätigung dafür von jemandem bei GitHub zu bekommen ...

Ich denke, das bedeutet, dass ich dasselbe versuchen werde. Dh zur Laufzeit erkennen, ob es sich um ein iPad handelt, und den Ace Editor nicht laden, sondern nur einen Textbereich verwenden.

Also unbefriedigend, aber zumindest wird es brauchbar sein, bis jemand eine gute iPad-Lösung entwickelt...

😦

Habe dies gerade auf meinem iPad Pro getestet und es zeigt im Grunde ein einfaches textarea . Vielleicht mit Auto-Grow.

Ist es etwas Cleveres wie ein Textbereich mit 0 Deckkraft und einer unmittelbar dahinter positionierten Ass-Editor-Instanz? Ich kann mir vorstellen, dass es mit der modernen iPad-Leistung möglich wäre, den Zustand (inneres Scrollen und Inhalt) fast sofort bei jedem Eingabeereignis beizubehalten…

@barneycarroll Nein, zumindest in meinen Tests habe ich in einem normalen Textbereich ohne Zeilennummern usw.

Hallo Leute! Ich habe gerade eine Pull-Anfrage erstellt, die einige der Probleme unter iOS behebt. Es bietet eine angenehme Benutzererfahrung, wenn Sie eine externe Tastatur haben.

Wenn es dir gefällt, denke ich vielleicht daran, die verbleibenden Probleme zu beheben :)

Sie können es auf https://ipad-undo.gomix.me in Aktion sehen

Genießen!

Ich verwende gerade Ihre Demo und ich sehe ein Problem mit der Einfügemarke. Erstellen Sie beispielsweise ein Paar Anführungszeichen, setzen Sie den Cursor dazwischen und beginnen Sie mit der Eingabe. Es springt zufällig an das Ende der Zeile. Ich bin mir nicht sicher, ob diese Änderung dieses Problem verursacht oder ob es ursprünglich vorhanden war.

Oh, danke @IamNaN , dieser Fehler wurde gerade in der PR gemeldet :) Ich glaube, ich weiß, wie man ihn behebt... bleib dran an der Demo :)

EDIT: Demo behoben :)

@etamponi Das sieht toll aus! Funktioniert es mit:

  1. Einstecken wie vim und emac?
  2. IME-Unterstützung mit CKJ?

Derzeit sieht es so aus, als ob es beim Einschalten von IME durcheinander geht.

@episodeyang Es tut mir wirklich leid, dass ich dich diesbezüglich in der Warteschleife gelassen habe.

Leider hatte ich keine Zeit mehr an der PR zu arbeiten... Zum Glück hat jemand anderes meine Arbeit übernommen und fertig gestellt, jetzt ist sie als #3310 zusammengeführt, wenn ich mich richtig erinnere :)

vim wurde unter iOS bereits nicht unterstützt, und der PR fügt keine Unterstützung dafür hinzu. Ich weiß nicht genug über IME, um sicher zu sein, ob meine PR es in irgendeiner Weise beeinflusst hat, sorry!

Das Platzieren des Cursors in der Wortmitte durch Tippen scheint in der von @etamponi bereitgestellten Demo ein Hit-or-Miss (iOS 11.2, Safari) zu sein. Gibt es eine Möglichkeit, dies zuverlässiger zu machen?

Derzeit funktioniert ace auf IOS gut genug, um dieses Problem bezüglich der grundlegenden Kompatibilität zu schließen. Wenn Sie Fehler oder fehlende Funktionen sehen, öffnen Sie bitte eine neue Ausgabe.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen