2017-03-02 10 views
0

外部のJavaScriptファイルで奇妙な問題が発生しました。これはEdgeとChromeでは完全に機能しますが、Firefox(51.0.1)では機能しません。Firefoxで外部Javascriptが動作しない

私はadblocker.jsファイルが実行されないこの

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
<script src="js/adblocker.js"></script> 
<script> 
$(document).ready(function() { 
    $('.dir_hotel').keyup(function(event) { 
     if (event.keyCode == 13) { 
      this.form.submit(); 
      return false; 
     } 
    }); 
}); 
</script> 
<?php if ($mobile_browser > 0) { ?> 
<script> 
/* MOBILE COLLAPSE MENU */ 
(function($) { 
    $.fn.collapsable = function(options) { 
    // iterate and reformat each matched element 
    return this.each(function() { 
     // cache this: 
     var obj = $(this); 
     var tree = obj.next('.nav'); 
     obj.click(function(){ 
     if(obj.is(':visible')){tree.toggle();} 
     }); 
    }); 
    }; 
})(jQuery); 

$(document).ready(function(){ 
    $('.slide-trigger').collapsable(); 
    $(".slide-trigger").click(function(){ 
     $('.slide-trigger').html($('.slide-trigger').text() == 'Collapse MENU' ? 'MENU' : 'Collapse MENU'); 
    }); 
}); 
</script> 
<?php }?> 
</body> 

のように、ページの本文の一番下にあるスクリプトの数を持っています。 .jsファイルの最初の行にアラートを追加しようとしましたが、アラートは表示されません。私はブラウザでコンソールをチェックして、ファイルがロードされていないことを示しています。

私は

<script> 
window.onload=function(){ 
var clientHeight = document.getElementById('travins').clientHeight; 
if (clientHeight < 20) { 
     var node = document.getElementById("insnote"); 
     node.innerHTML = "<a href='https://clkuk.tradedoubler.com/click?p=18211&a=1906311&g=232597' target='_blank'>Columbus Direct Travel Insurance</a>"; 
} 
var clientHeight = document.getElementById('flights').clientHeight; 
if (clientHeight < 50) { 
     var node = document.getElementById("flightnote"); 
     node.innerHTML = "<a href='http://www.kqzyfj.com/click-7782323-11015988-1440520708000' target='_blank'>Skyscanner</a>"; 
} 
var clientHeight = document.getElementById('carhire').clientHeight; 
if (clientHeight < 20) { 
     var node = document.getElementById("hirenote"); 
     node.innerHTML = "<a href='http://www.zestcarrental.com/click.php?adm=1018&adt=14' target='_blank'>Zest Car Rental</a>"; 
} 
var clientHeight = document.getElementById('parking').clientHeight; 
if (clientHeight < 20) { 
     var node = document.getElementById("parknote"); 
     node.innerHTML = "<a href='https://clkuk.tradedoubler.com/click?p=20642&a=1906311&g=20842820' target='_blank'>Purple Parking</a>"; 
} 
var clientHeight = document.getElementById('brittany').clientHeight; 
if (clientHeight < 20) { 
     var node = document.getElementById("ferrynote"); 
     node.innerHTML = "<a href='http://being.successfultogether.co.uk/click.asp?ref=731409&site=6792&type=b3&bnb=3' target='_blank'>Brittany Ferries</a>"; 
} 
}; 
</script> 

<script src="js/adblocker.js"></script> 

を交換した場合、それは完璧に動作します。

私はjs/adblocker.js、/js/adblocker.js、mydomain.com/js/adblocker.jsを試しましたが、違いはありません。また、ファイルが実際にアップロードされていることを再確認しました。私は何か愚かなことをする必要がありますが、何ですか?

+2

あなたは外部スクリプトの名前で 'ad'を検出し、それをブロックしていますFirefoxでインストールadblocker拡張子を持っていますか? – Joe

+0

その男に金メダルをください!あなたはそれを1つ持っている、ジョー。ファイルの名前を変更したところ、すぐに機能しました。もう少し二重チェックして確実に確かめることができますが、あなたはそれを持っていると思います。皮肉なのは、adblocker.jsの全目的が、広告ブロッカーの存在に反応することだったからです。どうもありがとう。 – TrapezeArtist

答えて

0

Joeが正しく示唆したように、Adblock Plus拡張機能はadblocker.jsファイルをブロックしていました。ファイル名をblocker.jsに変更することで問題は解決しました。

これは、ファイルがその名前に「広告」を持つことができるように、無邪気な方法がたくさんあるに違いないと思います。 Firefoxが予期せぬことをするたびに、私はこれを見守ります。

+0

確かに良い方法でなければなりませんが、それは誰もがやっているようです。私は(いくつかのサイトが組み込み機能をスキップするように管理する)要求されていないポップアップを開くからサイトを防ぐために、拡張子を持っていると私は以来、私は、当然の広告の束と一緒に(そして今の警告「広告をブロックしないでください」を取得し、それらをブロックしない)。 –

0

のJavaScriptファイルに(function($) { // your code here })(jQuery); このコードの間でJavaScriptコードを置くようにしてください。それは私と一緒に働く。

関連する問題