WebView Mobile Seite erzwingen

  • 7 Antworten
  • Letztes Antwortdatum
M

moepes

Neues Mitglied
1
Hallo :)

habe ein kleines Script in Ellipse geschrieben, um eine (Mobile)Seite in eine WebView App einzubinden. Soweit funktioniert alles super. Allerdings ruft die App bei manchen Buttons die normale Seite auf.

Habe den Code schon probiert.
PHP:
webview.getSettings().setUserAgentString("Mozilla/5.0 (Linux; U; Android 4.0.3; ko-kr; LG-L160L Build/IML74K) AppleWebkit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30");

funktioniert leider trotzdem nicht.

Kann ich irgendwie sonst noch die Mobile Seite erzwingen?

Liebe Grüße

Domi
 
Ist die Website auch komplett mobil verfügbar? Also funktioniert das über den Browser?
Soweit ich weiß, liegt das nämlich Serverseitig, ob mobil oder nicht aufgerufen wird.

Gruß
 
Wenn ich die Seite auf dem Handy aufrufe funktioniert Mobil alles einwandfrei. Allerdings frägt er mich, wenn ich drauf komme, ob ich die Mobile Seite aufrufen will.

Dies bin ich in der App gleich umgangen indem ich direkt das Mobile Template (.de/?mt=1) hinter dem Link eingegeben hab.
 
moepes schrieb:
(.de/?mt=1) hinter dem Link eingegeben hab.
Das machst du bei jedem Link, der aufgerufen wird, wenn man weiter geleitet wird?

Gruß

€dit: Wenn du im Brwoser (am PC) es immer reicht, dass du /?mt=1 eingibst und die mobile Seite angezeitg wird, dann musst du bei deinem WebView halt jedesmal den "click" abfangen (wenn neue URL) und hinten dran das ?mt?1 setzten...
 
  • Danke
Reaktionen: moepes
Vielen Dank :)

Was müsste ich den für die Weiterleitung angeben, dass er immer /?mt=1 schreibt?

Lg Domi
 
Schau mal hier:

Wenn dieser aufgerufen wird, holst du dir die URL und hängst eben eifnach das mt=1 dran. Denke ein überschreiben sollte schon reichen...

Gruß
 
Meinst du so?

PHP:
public boolean shouldOverrideUrlLoading(WebView view, String url) 
    {
    	if(!url.toLowerCase().contains("http://***.de"))
    	{
    		view.loadUrl("http://***.de/?mt=1");
    		return true;
    	}
    return false;
	}

leider funktioniert das nicht.
 
Ich weiß nicht genau wie ich es meine :)
Auch würde ich nicht shouldOverrideUrlLoading verwenden :) - klingt doch irgendwie doof :D

Du musst irgendwie an die URL kommen, die dein WebView läd und eben ersetzten. Am besten ohne, dass du es neu "loadUrl".. lädst.

Gruß

€dit: Dochj, nimm shouldOverrideUrl :D

Der ursprüngliche Beitrag von 12:41 Uhr wurde um 12:43 Uhr ergänzt:

Wird die methode denn überhaupt aufgerufen?

Der ursprüngliche Beitrag von 12:43 Uhr wurde um 12:44 Uhr ergänzt:

oder was heißt "funktioniert" nicht

Der ursprüngliche Beitrag von 12:44 Uhr wurde um 12:46 Uhr ergänzt:

Kannst auch nochmal hier schauen: https://developers.google.com/chrome/mobile/docs/webview/gettingstarted?hl=de#load_a_remote_url

Der ursprüngliche Beitrag von 12:46 Uhr wurde um 12:49 Uhr ergänzt:

Also nochmal:
Code:
class XXX
[...]
String webViewUrl;
[...]
onCreate()
[...]
wv.loadUrl(webViewUrl);
[..]
public boolean shouldOverrideUrlLoading(WebView view, String url)  
    { 
        if(!url.toLowerCase().contains("http://***.de")) 
        { 
            webViewUrl = webViewUrl + "mobile=1";
            return false; 
        } 
    return false; 
    }  
[...]
So würde ich es versuchen...

Gruß

€dit5500 :D: http://stackoverflow.com/a/18292162 <- Also doch mit loadUrl arbeiten :)
 
Zurück
Oben Unten