[英]External Javascript Not Working in Firefox
我刚刚在外部javascript文件中遇到了一个奇怪的问题。 它可以在Edge和Chrome中完美运行,但不能在Firefox(51.0.1)中运行。
我在页面底部有很多脚本,像这样
<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 src="js/adblocker.js"></script>
同
<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>
它完美地工作。
我已经尝试过js / adblocker.js,/ js / adblocker.js和mydomain.com/js/adblocker.js,但这没有什么区别。 我还仔细检查了文件是否确实已上传。 我一定在做些蠢事,但是呢?
正如Joe正确建议的那样,Adblock Plus扩展程序阻止了adblocker.js文件。 将文件名更改为blocker.js已解决了该问题。
我必须说,我认为这是过滤广告的一种强大的粗略方法,因为必须有许多无辜的方法,文件的名称中可能会有“ ad”。 每当我的Firefox做一些意外的事情时,我都会在以后注意这一点。
尝试将您的JavaScript代码放在这些代码之间(function($) { // your code here })(jQuery);
在JavaScript文件中。 它和我一起工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.