我刚刚遇到一个外部JavaScript文件的奇怪问题。它在Edge和Chrome中完美运行,但在Firefox(51.0.1)中无法运行。外部Javascript不能在Firefox中工作
我有很多的脚本在页面的机身底部,这样
<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>
的adblocker.js文件不能运行。我尝试添加警报作为.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,这没有什么区别。我也仔细检查过这个文件实际上传了,它是。我一定在做一些愚蠢的事情,但是什么?
您是否在Firefox中安装了adblocker扩展程序,该扩展程序正在检测外部脚本名称中的“ad”并将其阻止? – Joe
给那个男人一枚金牌!你在一个,乔。我只是重命名了这个文件,它直接运行。有一点重复检查是绝对可以肯定的,但我认为你已经得到了它。真正具有讽刺意味的是,因为adblocker.js的全部目的是回应adblocker的存在。非常感谢。 – TrapezeArtist