#javascript #google-chrome
#javascript #google-chrome
Вопрос:
Я пытаюсь динамически загружать js, используя следующий код :
<script type="text/javascript">
function loadjsfile(filename, filetype){
if (filetype=="js"){ //if filename is a external JavaScript file
var fileref=document.createElement('script')
fileref.setAttribute("type","text/javascript")
fileref.setAttribute("src", filename)
}
if (typeof fileref!="undefined")
document.getElementsByTagName("head")[0].appendChild(fileref)
}
var hour = new Date().getHours();
loadjsfile("http://my.domain/js/util.js?v=" hour, "js");
</script>
Здесь я пытаюсь загружать js каждый час. Но js не загружается при действии обновления. Он отлично работает с Firefox и Internet Explorer.
Комментарии:
1. Вы вызываете loadjscssfile, который не определен, вы имели в виду loadjsfile? Редактировать: loadjsfile правильно загружает файлы javascript, проверено в Chrome. С какой проблемой вы столкнулись?
2. Вы тестируете непосредственно из файла или на веб-сервере / локальном хосте? Потому что Chrome ограничивает некоторые асинхронные действия во время тестирования без http: протокола.
3. @RobertoLonardi я? Я тестировал как из файла, так и с локального сервера apache. Оба работают правильно: я использовал скрипт по тому же пути, который есть только у
console.log("loaded");
него, и он появляется в консоли, также я вижу скрипт на вкладке Сеть и в дереве элементов. Редактировать: тестировал загрузку jquery из cdn, он тоже работает.4. @Theraot Нет, я спрашиваю его, я думал, что это может быть Chrome, который отключает асинхронный вызов из file:// paths, но, похоже, это не так, если вы тестировали, и это работает. В любом случае, да, имя метода неверно, как вы упомянули выше.
5. @RobertoLonardi имя метода ошибочно введено при публикации вопроса. я снова протестировал, и возникает та же проблема. Я тестирую с локального хоста. Файл js не загружается, когда я нажимаю на кнопку обновления в Google chorme в первый раз. Мой браузер Chrome имеет версию 53.0.2785.143 m.