• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Na, habt Ihr genügend in Stoffen geschwelgt? Dann könntet Ihr Euch jetzt die zahlreichen Einsendungen dieses Monats anschauen und entscheiden, welches Foto davon Euch am Besten gefällt. Hier geht es lang zur Abstimmung --> Klick

Webapp Problem

zatoozy

Golden Delicious
Registriert
07.01.11
Beiträge
11
Hallo liebe Community,
ich entwickle zurzeit eine Webapp für einen Clan und habe ein Problem.
Wenn man in der Webapp auf einen Link klickt, dann öffnet sich Safari auf dem iPhone und folgt diesem Link. Wie kann ich verhindern, dass Safari diesen Link öffnet?

Ich habe schon den von iWebKit benutzten Javascript Code in meine Seite implementiert. Dieser scheint aber nicht zu funktionieren.. Irgendwelche Vorschläge?

Der JS Code:

Code:
var iWebkit;

if(!iWebkit){

	iWebkit=window.onload=function(){

		function fullscreen(){

			var a=document.getElementsByTagName("a");

			for(var i=0;i<a.length;i++){

				if(a[i].className.match("noeffect")){

				}else{
					a[i].onclick=function(){
						window.location=this.getAttribute("href");
						return false
					}
				}

			}

		}

		function hideURLbar(){
			window.scrollTo(0,0.9)
		}

		iWebkit.init=function(){
			fullscreen();
			hideURLbar()
		};

		iWebkit.init()

	}

}

Die Seite: http://www.sexychickz.net/

Danke schon im Vorraus :)
 

drp

Jerseymac
Registriert
12.04.11
Beiträge
458
Code:
<a href="javascript: location.href=link.html">Link</a>
Du musst generell JavaScript verwenden, damit der Link nicht im Safari geöffnet wird.
Natürlich geht auch noch etwas schöner:
Code:
<button OnClick="location.href = 'link.php'">Link</button>
 

zatoozy

Golden Delicious
Registriert
07.01.11
Beiträge
11
Habs anders hinbekommen.
Einfach ein Document Ready vor den JS Code hängen und alles funktioniert ;)
Naja manchmal spinnt die App und das JS wird nicht geladen.. Weiß einer wieso?
 

drp

Jerseymac
Registriert
12.04.11
Beiträge
458
Das müsste an der Internetverbindung oder an dem Server liegen...
 

zatoozy

Golden Delicious
Registriert
07.01.11
Beiträge
11
Stimmt. Über WLAN funktioniert alles einwandfrei und das JS wird geladen. Unter 3G wird anscheinend das JS nicht geladen..
Einer ne Idee, wie ich das Problem beheben kann? :x
 

delimiter

Alkmene
Registriert
08.06.11
Beiträge
34
Stimmt. Über WLAN funktioniert alles einwandfrei und das JS wird geladen. Unter 3G wird anscheinend das JS nicht geladen..
Einer ne Idee, wie ich das Problem beheben kann? :x
Das ist mit so wenig Informationen erstmal schwer zu sagen. Sicher, dass das JS mit 3G gar nicht geladen wird? Oder ist es so, dass vorher ausgeführter JS-Code einfach defekt ist? Debugge mal über console oder alerts vor jeder einzelnen Anweisung in Deinem Code (nicht dem Script).
Es könnten sehr viele Probleme sein, da müssten wir schon etwas mehr Infos haben. Hast Du einen aktuellen Stand online? Dann würd ich mal drüberschauen ;)

Ansonsten sind die Debugger der Webkit-Browser auch ein sehr guter Freund ;)
 

zatoozy

Golden Delicious
Registriert
07.01.11
Beiträge
11
http://www.sexychickz.net/
Ich kann keine Fehler finden. Wie gesagt, mit WLAN funktioniert alles einwandfrei, nur unter 3G wird das Menü (links und rechts vom Content in der Desktop-Version) direkt angezeigt. Vorgesehen ist, dass der User das Menü über den Button "toggle sidebars" angezeigt bekommt.
 

delimiter

Alkmene
Registriert
08.06.11
Beiträge
34
Also, spontan gibt es schon mal Fehler mit der Shoutbox...

TypeError: Result of expression 'document.getElementById("shoutbox")' [null] is not an object.

Eliminiere erstmal diesen Fehler... dann schauen wir weiter ;)
 

delimiter

Alkmene
Registriert
08.06.11
Beiträge
34
Schon klar - aber Du benutzt die Shoutbox nicht auf der mobilen Seite. Also eliminiere den Fehler bzw. das Script. Du solltest niemals Scripte laden, die Du nicht benötigst. Auf einer mobilen Seite gilt es, jeden Request zu hinterfragen und möglichst jedes überflüssige KB wegzulassen. Vor allem, wenn es sonst Fehler gibt.
 

zatoozy

Golden Delicious
Registriert
07.01.11
Beiträge
11
Klar benutz ich die Shoutbox auf der mobilen Seite. Zumindest wollen das meine Mates so :)
Außerdem bin ich nicht so bekannt mit Javascript, dass ich mal schnell mehrere Plugins aufräumen kann.
Das Plugin aussperren kann ich ebenso wenig, weil das durch das CMS geladen wird; und soweit ich weiß, kann man das nicht durch reines HTML+CSS unterbinden.
 

delimiter

Alkmene
Registriert
08.06.11
Beiträge
34
Naja, Du könntest aber in die Routine eingreifen, die es ausliefert.

Aber okay - einfacher Weg um diesen Fehler zu beseitigen: erstell erstmal die Shoutbox - und häng ein display: none dran, wenn du die noch nicht designen willst. Damit kannst Du zumindest den Fehler eliminieren. Danach testen, ob Deine JavaScripts geladen werden.

Bei Nicht-WLAN-Verbindungen (UMTS, EDGE...) wäre es nur verständlich, wenn der das Laden weiterer Scripte nach dem ersten Fehler unterbindet. Wenn eine Seite eh fehlerhaft ist - warum dann Traffic verschwenden, der Geld kostet (vereinfacht gesagt)?

Mit welchen Geräten testest Du die Seite eigentlich?
 

zatoozy

Golden Delicious
Registriert
07.01.11
Beiträge
11
Mit meinem iPhone 4.
Ebenso haben mir aber schon andere von dem Problem berichtet. :)
 

zatoozy

Golden Delicious
Registriert
07.01.11
Beiträge
11
Habs gerade mal auf einer anderen Seite getestet mit ILCH installiert, sowie dem Theme; dort tritt kein Problem auf. Also liegts eindeutig an dem Shoutbox Plugin, denn auf der anderen Seite ist dieses Plugin nicht installiert.