我試着實現這段代碼,遇到了一些麻煩,所以想分享我的經驗。
首先我嘗試這樣做:
<script>
loader = document.createElement('script');
loader.src = "script.js";
document.getElementsByTagName('head')[0].appendChild(loader);
</script>
而且腳本。js文件我有代碼如下:
// This javascript tries to include a special css doc in the html header if windowsize is smaller than my normal conditions.
winWidth = document.etElementById() ? document.body.clientWidth : window.innerWidth;
if(winWidth <= 1280) { document.write('<link rel="stylesheet" type="text/css" href="style/screen_less_1280x.css">'); }
問題是,當我做了所有這些,代碼將無法正常工作。鑑於,做一次工作,我更換了腳本裝載機簡單:
<script src="script.js"></script>
這對我的作品,所以解決目前的問題,但我想了解這兩種方法之間的差異。爲什麼一個人工作,而不是另一個?
更重要的是,在我的script.js也有代碼,如:
function OpenVideo(VideoSrcURL) {
window.location.href="#OpenModal";
document.getElementsByTagName('video')[0].src=VideoSrcURL;
document.getElementsByTagName('video')[0].play();}
而且這些代碼確實做工精細,無論哪種方式我在HTML源文件的腳本。
所以我的窗口調整腳本不起作用,但視頻的東西呢。因此,我想知道行爲上的差異是否與「文檔」對象有關...?也許「文檔」引用script.js文件而不是html文件。
我不知道。以爲我應該分享這個問題,以防其他人適用。
乾杯。
查看Stoyan Stefanov所做的深入分析:[添加腳本元素的荒謬案例](http://www.jspatterns.com/the-ridiculous-case-of-adding-a-script-element/) – CMS