2015-03-13 34 views
0

我有我的HTML页面下面的div:创建JavaScript文件格,脚本部分不工作

<div id="jsmolwindow"> 
<script type="text/javascript">jmolApplet0 = Jmol.getApplet("jmolApplet0", Info); 
</script> 
</div> 

我想在我的外部JavaScript的一个创造这个div在适当的时刻功能。

I tried it this way: 
var div = document.createElement("div"); 
div.style.position="absolute"; 
div.style.float="left"; 
div.style.top="200px"; 
div.style.left = "200px"; 
div.style.width = "150px"; 
div.style.height = "150px"; 
var scr = document.createElement('script'); 
scr.type = 'text/javascript'; 
scr.src = 'jmolApplet0 = Jmol.getApplet("jmolApplet0", Info);' 
div.appendChild(scr); 
document.body.appendChild(div); 

什么也没有发生。 我试图通过scr.text替换scr.src,但后来它试图在新页面中执行我的脚本,并失败....

感谢您的帮助。

+1

为什么在你已经*运行JavaScript代码时附加一个脚本元素和内联代码?只需执行语句(可能在追加'div'后)。 – 2015-03-13 09:00:11

+0

看看这里,显然你不能添加动态js - > http://stackoverflow.com/questions/3248384/document-createelementscript-synchronously – Sim1 2015-03-13 09:00:54

+1

@SimoneRiboldi:是的,你可以。这个问题和答案是关于同步执行**外部**脚本。 – 2015-03-13 09:02:33

回答

0

两个问题有:

  1. 没有理由当你已经运行的JavaScript代码与内嵌代码script元素追加:只要在你的代码执行该语句就在那里(可能追加后div)。

  2. 如果你真的想脚本元素追加,即使它是没有必要的,你该元素的含量设置的代码运行,而不是src属性。 src属性是外部脚本文件的URL。您可以在将脚本元素添加到文档之前,通过创建包含代码的文本节点并将其附加到脚本元素来设置内容。

但是,再一次地,考虑到你所显示的代码,#2是不必要和毫无意义的;只是执行该声明。

+0

我明白你的观点。我试图尽可能地坚持实际的代码(因为我是初学者)并没有看到明显的。在我的js文件中直接执行javascript时,我仍然有两个问题:1)在我的html文件中,我加载了一个js源代码来执行这个脚本:“”....我现在该怎么办? 2)这个脚本是一种加载图像,我想在特定的div。我该怎么做?谢谢 – Laetis 2015-03-13 09:17:50

+0

@Laetis:这是一个完全不同的问题,恐怕我现在没有时间回答。我建议将它作为一个新问题发布,因为它与这个不一样。 – 2015-03-13 09:21:32