2015-01-29 1 views
0

коды выглядит следующим образомЧто делает `document.write` в этом js-фрагменте?

var addScript = function(path, server){ 
    server = server || scriptConfig.server; 
    document.write('<script type="text/javascript" src="' + server + path +'"></script>'); 
    }; 

    if (scriptConfig.autoLoadDependencies) { 
    addScript("/javascripts/webtoolkit.base64.js"); 
    addScript("/javascripts/swfobject.js"); 
    addScript("/javascripts/jQuery/jquery-1.3.2.js"); 
    addScript("/javascripts/jQuery/jquery-ui-1.7.1.custom.min.js"); 
    addScript("/javascripts/underscore/underscore.js"); 
    addScript("/javascripts/nglr/Loader.js"); 
    addScript("/javascripts/nglr/API.js"); 
    addScript("/javascripts/nglr/Binder.js"); 
    addScript("/javascripts/nglr/ControlBar.js"); 
    addScript("/javascripts/nglr/DataStore.js"); 
    addScript("/javascripts/nglr/Filters.js"); 
    addScript("/javascripts/nglr/JSON.js"); 
    addScript("/javascripts/nglr/Model.js"); 
    addScript("/javascripts/nglr/Parser.js"); 
    addScript("/javascripts/nglr/Scope.js"); 
    addScript("/javascripts/nglr/Server.js"); 
    addScript("/javascripts/nglr/Users.js"); 
    addScript("/javascripts/nglr/Validators.js"); 
    addScript("/javascripts/nglr/Widgets.js"); 
    } else { 
    addScript("/ajax/libs/swfobject/2.2/swfobject.js", "http://ajax.googleapis.com"); 
    addScript("/ajax/libs/jquery/1.3.2/jquery.min.js", "http://ajax.googleapis.com"); 
    addScript("/ajax/libs/jqueryui/1.7.2/jquery-ui.min.js", "http://ajax.googleapis.com"); 
    } 

Как отмечалось в MDN document,

Примечание: в качестве document.write записывает в поток документа, называя document.write на закрытой (нагруженной) документ автоматически вызывает document.open, который очистит документ.

document.write очистит весь документ. Если да, то не первый звонок addScript очистить всю страницу? Означает ли это, что он может загрузить эти js-файлы, но весь HTML DOM будет потерян?

Как я понимаю, фрагмент, подобный этому , не кажется полезным, если он очистит весь документ .... я прав?

У кого-нибудь есть идеи об этом?

+0

Что я вижу здесь, это addScript, просто загружает некоторые скрипты с сервера с указанным путем. – Abhi

+0

Нет, не будет. http://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_doc_write –

ответ

1

Я предполагаю, что это на странице, как это:

<html> 
    <head> 
     <script>//that stuff</script> 
    </head> 
.... 

В этом случае документ еще не был «закрытым», так как она все еще находится в процессе загрузки. Следовательно, он не должен очищать все остальное.

1

Если этот код завернут <script></script>, он добавит код сразу после тега <script></script>.

0

В этом коде, когда будет вызываться функция addScript, тогда document.write просто напишите строку внутри метода document.write в документе. Теперь вы можете использовать этот скрипт.

 Смежные вопросы

  • Нет связанных вопросов^_^