2016-04-04 9 views
0

990px​​未満の画面幅に使用する2つのスクリプトと、それ以上のものを使用する2つのスクリプトがあります。これらのスクリプトはサードパーティ製で、実際のドメインでしか動作しません(テストは他の誰にとっても難しいでしょう)。モバイルまたはデスクトップのみのjavascriptを適用

を携帯電話の場合:デスクトップ用

<script> 
    (function(){ 
     var t = document.getElementsByTagName("script")[0]; 
     var s = document.createElement("script"); s.async = true; 
     s.src = "//integration.nfusionsolutions.biz/client/jh/widget/module/accordionchart/nfaccordion"; 
     t.parentNode.insertBefore(s, t); 
    })(); 
    </script> 

:ここ

は、彼らが私を与えたスクリプトです

<script> 
    (function(){ 
                var t = document.getElementsByTagName("script")[0]; 
                var s = document.createElement("script"); s.async = true; 
                s.src = "//integration.nfusionsolutions.biz/client/jh/widget/module/spottableextended/nfspotextended"; 
                t.parentNode.insertBefore(s, t); 
    })(); 
    </script> 

私はデスクトップ表示のためにこれを試してみましたが、私は何かがオフになっている知っています。 EDIT

if ($(window).width() > 990) {  
    //Add your javascript for large screens here 
} 
else { 
    //Add your javascript for small screens here 
} 

:本当にjQueryを使用することができないならば、あなたが試すことができますが、サイズの画面の情報を持っている場合

<script> 

        (function(){ 
     var viewportWidth = $(window).width(); 
     if (viewportWidth > 900) { 
                    var t = document.getElementsByTagName("script")[0]; 
                    var s = document.createElement("script"); s.async = true; 
                    s.src = "//integration.nfusionsolutions.biz/client/jh/widget/module/spottableextended/nfspotextended"; 
                    t.parentNode.insertBefore(s, t); 
       } })(); 
        </script> 

Any suggestions? 

UPDATE*** Code based on response below 

    <script> 
if ($(window).width() > 990) {  
    (function(){ 
                var t = document.getElementsByTagName("script")[0]; 
                var s = document.createElement("script"); s.async = true; 
                s.src = "//integration.nfusionsolutions.biz/client/jackhunt/widget/module/spottableextended/nfspotextended"; 
                t.parentNode.insertBefore(s, t); 
    })(); 
} 
else { 
    (function(){ 
     var t = document.getElementsByTagName("script")[0]; 
     var s = document.createElement("script"); s.async = true; 
     s.src = "//integration.nfusionsolutions.biz/client/jackhunt/widget/module/accordionchart/nfaccordion"; 
     t.parentNode.insertBefore(s, t); 
    })(); 
} 
</script> 
+0

jQueryがロードされていますか? – Scimonster

+0

サイトはjqueryを使用していません。 – user1683991

+0

サイトでjQueryを使用していない場合は、 '$(window)'などのjQueryオブジェクトと '.width()'などのいずれのメソッドも使用できません。 [画面のサイズ、現在のWebページ、ブラウザウィンドウを取得する](http://stackoverflow.com/questions/3437786/get-the-size-of-the-screen-current-web-page-and-browser-ウィンドウ)には、ウィンドウサイズを取得するためのバニラのjavascriptメソッドがあります。このjavascriptは一度だけ実行され、ページがロードされるときにページ幅をチェックすることに注意してください - 後でウィンドウのサイズを変更すると、コードを再実行しません。 – h2ooooooo

答えて

0

あなたは、このようsompethingを使用することができます:デスクトップ用

使用:

window.innerWidth 

幅を取得します。しかし、サイズ変更されたウィンドウにも依存します...!

+0

私はこれを試しましたが、何らかの理由で動作しません。あなたの回答に基づいて上の更新されたコードを見てください。 – user1683991

0

jQueryを使用していない場合は、jQueryメソッドを使用できません。代わりに次の条件を使用してください。

if (window.innerWidth > 900) { // code for large screens 
+0

私はJqueryを使うことができますが、上記のアップデートの下で追加したものに基づいて動作しません。 – user1683991

+0

スクリプトの前にjQueryがロードされていますか? – Scimonster

+0

はいです。点検するとエラーはありません。 – user1683991

関連する問題