So deaktivieren Sie Kopieren und Einfügen in UIWebView

8

Wenn ein Benutzer innerhalb von UIWebView lange drückt, gibt es eine Kopie & amp; Popup einfügen Ist es möglich, das System aus dem Popup zu deaktivieren, dann kann der Copy & amp; Einfügen-Funktion, aber immer noch den Benutzer auf Links klicken und auf neue Seiten gehen?

    
ohho 13.07.2011, 08:48
quelle

6 Antworten

1

Sie können versuchen, Javascript in das webView zu injizieren. Dieser Code funktioniert auch auf dem iPhone, aber nur wenn die Seite vollständig geladen ist. Ссылка oder Ссылка

Damit es richtig funktioniert, wenn die Seite nur zur Hälfte geladen ist oder noch geladen wird, müssen Sie wahrscheinlich ein ähnliches Setup verwenden, bei dem Sie das deaktivierende Javascript genauso injizieren, wie es die Auswahl starten würde. Ссылка

UIWebView ohne Kopieren / Einfügen und Auswahlrechteck wenn Dokumente zeigen

    
Kyle Howells 13.07.2011, 11:43
quelle
4

Versuchen Sie es

%Vor%     
Mutawe 02.07.2012 08:36
quelle
4

Ich hoffe, das funktioniert für Sie, denn es ist Arbeit für mich

%Vor%     
issam 24.06.2015 13:51
quelle
3

Für jeden, der auf der HTML-Ebene arbeiten kann, ist die JavaScript-Lösung der Weg (extrahieren Sie den JavaScript-Teil von hier [1]).

Für Entwickler, die die HTML-Seiten nicht ändern können, funktioniert [1] Lösung für 99% der Clients und ist wirklich sauber und sicher.

Aber für die Fälle, in denen das Popup, das erscheint, wenn Sie einen Link lange drücken oder das Kopieren und Einfügen oder das Vergrößerungsglas etc. einfach nie sein soll, dann kommt hier meine Arbeitslösung. (Die Fälle, in denen die JavaScript-Injektion fehlschlägt, sind solche, bei denen die Seiten ein wenig zum Laden brauchen und der Benutzer lange Zeit auf einen Link drückt).

Um das Problem zu lösen, fügen Sie diese Protokollimplementierung fast überall in Ihrem Code ein (seien Sie nicht faul ... machen Sie eine neue Kategoriedatei). Bitte beachten Sie, dass diese Lösung zumindest im realen Leben gefährlich ist (d. H. Ab iOS 6.0.2), es ist nicht gefährlich. Bitte wissen Sie, welche Kategorien sind und was diese Lösung beinhaltet.

%Vor%

[1] Ссылка

    
GiovaMaster 08.06.2012 09:17
quelle
0

Getestet in iOS 5,6,7:

Verstecken Sie das gesamte Kontextmenü mit:

[[UIMenuController sharedMenuController] setMenuVisible: NEIN];

bei Ereignis UIMenuControllerWillShowMenuNotification

Beispiel

Beachten Sie, dass der Wähler nach einer Verzögerung erneut ausgelöst wird. Im Beispiel verwenden sie 0,15 Sekunden. Ich habe .001 benutzt. Das verhindert das Aussehen besser - oder reduziert zumindest die Zeit, die das Menü sichtbar / verfügbar ist.

    
BuvinJ 03.04.2014 21:33
quelle
-1
%Vor%     
Andy Lee 17.10.2012 14:58
quelle