Я работаю над загрузчиком карт Google (используя API JavaScript карт Google). Я хочу динамически добавлять точки к пути по мере их появления. Редактировать : Веб-страница и javascript хранятся и загружаются локально, а не через веб-сервер .
Для этого я создал внешний файл javascript, в который я помещаю данные, которые хочу использовать.
Я загружаю объект сценария java, используя отличный трюк, который я нашел в другом месте в stackoverflow:
function loadjsfile( filename, callback )
{
var fileref = document.createElement( 'script' );
fileref.setAttribute( "type", "text/javascript" );
fileref.setAttribute( "src", filename );
var done = false;
fileref.onload = fileref.onreadystatechange = function()
{
if( !done && ( !this.readyState
|| this.readyState == "loaded"
|| this.readyState == "complete") )
{
done = true;
// Continue your code
callback();
// Handle memory leak in IE
fileref.onload = fileref.onreadystatechange = null;
document.getElementsByTagName( "script" )[0].removeChild( fileref );
}
};
document.getElementsByTagName( "script" )[0].appendChild( fileref );
}
Это прекрасно работает, так как ждет, пока внешний javascript фактически не загрузится, прежде чем приступить к инициализации.
Так что все отлично, он отлично загружается. Затем я установил 5-секундный таймаут, который перезагружает внешний файл JavaScript. Вот где у меня проблема. Google Chrome перезагружает внешний файл javascript из кэша, а не сразу на диск. Это огромная боль, поскольку это означает, что мой путь к карте не обновляется по мере продвижения. Мне это действительно нужно.
Когда я обновил всю страницу, то все было нормально, он перезагружал javascript, но мерцание было очень раздражающим (и заставило карту вернуться в «исходное» состояние). Этот новый метод работал бы отлично, если бы я мог заставить его перезагружать файл javascript каждый раз.
Так кто-нибудь может мне помочь?
Я очень новичок в Javascript (я в основном программист на C ++), поэтому извиняюсь, если спрашиваю что-то глупое: D