Ich habe gerade ein seltsames Problem mit einer externen Javascript-Datei getroffen. Es funktioniert perfekt in Edge und Chrome, aber nicht in Firefox (51.0.1).Externes Javascript funktioniert nicht in Firefox
Ich habe eine Reihe von Skripten an der Unterseite des Körpers von der Seite, wie diese
<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>
Die adblocker.js Datei nicht ausgeführt. Ich habe versucht, eine Warnung als erste Zeile der JS-Datei hinzuzufügen, und die Warnung wird nie angezeigt. Ich habe die Konsole im Browser überprüft und das zeigt, dass die Datei nicht geladen wird.
Wenn ich
<script src="js/adblocker.js"></script>
mit
<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>
ersetzen es funktioniert perfekt.
Ich habe versucht, js/adblocker.js, /js/adblocker.js und mydomain.com/js/adblocker.js und das macht keinen Unterschied. Ich habe auch überprüft, dass die Datei tatsächlich hochgeladen wurde. Ich muss etwas Dummes tun, aber was?
Haben Sie eine adblocker Erweiterung in Firefox installiert haben, das 'ad' im Namen des externen Skripts zu erfassen und es blockiert? – Joe
Geben Sie diesem Mann eine Goldmedaille! Du hast es in einem, Joe. Ich habe die Datei umbenannt und es funktionierte sofort. Es gibt ein bisschen Doppelprüfung, um absolut sicher zu sein, aber ich denke, du hast es. Ironisch wirklich, da der ganze Zweck von adblocker.js darin bestand, auf die Anwesenheit eines Adblockers zu reagieren. Danke vielmals. – TrapezeArtist