2016-04-18 11 views
0

ich einige Themen als gelesen deaktivieren, aber sie war nicht hilfreichWie einige js Skripte auf mobilen Geräten

i 4 Skript wie

<script src="http://kleaz.com/fsc/three.min.js"></script> 
<script src="http://kleaz.com/fsc/Projector.js"></script> 
<script src="http://kleaz.com/fsc/CanvasRenderer.js"></script> 
<script src="http://kleaz.com/fsc/me.js"></script> 

Ich möchte nicht diese Skripte auf mobile Geräte laden Wenn meine Fensterbreite kleiner als 780px ist, möchte ich nicht, dass mein Gerät diese Skripte lädt.

Wie kann es möglich sein?

+0

Sie können 'Skripte' asynchron laden ... Suchen Sie danach ... Laden Sie sie mit Bedingungen wird helfen! – Rayon

+0

Aka, drehen Sie Ihre Logik um. Laden Sie diese Skripte nur, wenn die Fenster größer als 780 sind. Sie können Skripte dynamisch hinzufügen, indem Sie ein neues Skript-Tag erstellen und es in den Text einfügen, nachdem Sie den Quellcode festgelegt haben. – Shilly

+0

Sicher ist dies ein Duplikat. Erfassen Sie einfach die Bildschirmbreite, und wenn 780 oder weniger, laden Sie die Skripte nicht. – RobG

Antwort

0

Nur die Skripte laden, wenn die Bildschirmgröße größer als 780px ist, etwas lang die Linien:

if (window.screen.width > 780) { 
    document.write( 
    '<script src="http://kleaz.com/fsc/three.min.js"><\/script>' + 
    '<script src="http://kleaz.com/fsc/Projector.js"><\/script>' + 
    '<script src="http://kleaz.com/fsc/CanvasRenderer.js"><\/script>' + 
    '<script src="http://kleaz.com/fsc/me.js"><\/script>' 
) 
} 

Obwohl Sie verwenden möchten, können DOM-Methoden zum Hinzufügen der Skriptelemente anstelle von doucment.write.

+0

Ja, es funktioniert perfekt, vielen Dank! –

0

Versuchen Sie Ihre Skripte in folgenden Code:

function isMobile() { 
return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent); 
} 

if (!isMobile()) { 
//place script you don't want to run on mobile here 
//TRY YOUR SCRIPT AS FOLLOWING WAY!!! 
document.write('<script src="http://kleaz.com/fsc/three.min.js"></script>'); 
document.write('<script src="http://kleaz.com/fsc/Projector.js"></script>'); 
document.write('<script src="http://kleaz.com/fsc/CanvasRenderer.js"></script>'); 
document.write('<script src="http://kleaz.com/fsc/me.js"></script>'); 
} 
+0

Ich glaube nicht, dass dies die richtige Antwort ist, denn er hat 4 Dateien zu laden. – Jer

+0

Ich habe diese 'script type =" text/javascript "> \t Funktion isMobile() { zurück/Android | webOS | iPhone | iPad | iPod | BlackBerry | IEMobile | Opera Mini/i.test (navigator.userAgent); } wenn { \t \t \t \t \t \t } aber diese Zeit Seite nicht laden meine Skripte auf dem Desktop zu' –

+0

Sind Sie sicher, dass * jedes * iPad eine Bildschirmgröße von weniger als 780px hat? Und jedes IEMobile Gerät? Und dass jedes Gerät, das eines dieser Wörter in der Navigator-Zeichenfolge enthält, tatsächlich eines dieser Geräte ist? – RobG

Verwandte Themen