2016-06-17 8 views
0

モバイルが検出された場合は、特定の外部jsファイルをフッターから削除する必要があります。あなたはそれについての提案がありますか?私はコードを試みたが、うまくいかなかった。ここでモバイルでフッターから外部jsファイルを削除する必要があります

はコードです:あなたは$(「体」)に.remove呼び出すと

if(/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)) { 

    $('body').remove("http://www.jqueryscript.net/demo/jQuery-Before-After-Image-Slider-Plugin-imgSlider/js/imgslider.js"); 

} 
+0

多分 '$( 'body script [src =" http://www.jqueryscript.net/demo/jQuery-Before-After-Image-Slider-plugin-imgSlider/js/imgslider.js "]')。 remove() 'を実行します。実際にスクリプトとして動作するかどうかは、おそらく既にitmeによって読み込まれているかどうかはわかりません。 – putvande

+0

いいえ、いくつかのエラーがあるかもしれません!私はこれを保存することはできません! – sudip

答えて

1

、あなたは文字列を削除するには、それを言っています。それはうまくいかないでしょう。実際のスクリプト要素を削除する代わりに、ブラウザに指示する必要があります。

しかし、それでも問題は解決しません。スクリプトが読み込まれると、その関数と値はメモリに格納されます。スクリプト要素を削除しても、関数/値はメモリから削除されません。

私はあなたが別のアプローチを取ると、このような何かお勧め:

$(document).ready(function() { 
    if(!(/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent))) { 
    var script = $("<script type='text/javascript' src='http://www.jqueryscript.net/demo/jQuery-Before-After-Image-Slider-Plugin-imgSlider/js/imgslider.js' />"); 
    $('head').append(script); 
    }   
}); 

基本的には、モバイルデバイスではない場合にのみ、スクリプトをロードするためにJavaScriptを使用しています。

編集:他のドメインのスクリプトに依存することも悪いことです。そのスクリプトをダウンロードして自分でホストしてください!

+1

'

0

.removeは、呼び出されるDOMオブジェクトまたは子セレクタを削除できます。

.remove([selector ]) 

http:// ....はセレクタではありません。特定の要素を指定する必要があります。 スクリプトタグにid属性を追加するのが最も簡単な方法です。はい、許可されています。 IDで選択できます。

jqueryの:

コードは次のようになります。 $( '体')( '#のremoveonmobile')を取り除きます。

もちろん、:containsを使用してセレクタを作成しようとすることはできますが、少し難しいかもしれません。

BTW。より良いオプションは、このスクリプトをモバイルに含めることではなく、サーバー側で実装することです。 jQueryはページがロードされた後に実行されるため、スクリプトはすでにメモリに格納されます。ページをロードした後にスクリプトを削除するのは意味がありません。

+0

うん - スクリプト要素を削除することは、メモリからそれを削除することではありません。理想的にはそれだけで最初のページ(なさサーバーサイド)に含まれていないが、それはオプションではない場合、右の動きだけで動的にすべての非モバイルデバイスのためにそれをロードすることです。 –

関連する問題