2012-10-29 32 views
0

我搜索了这一点,但我一直就如何用document.write编写JavaScript?

"<scr" + "ipt>" 

我的问题是,我想从我的JavaScript代码生成一些JavaScript发现的问题。 我在下面复制了一个大概的想法。我想怎样才能实现?是否有必要使用外部JS文件? 感谢

document.write("var testprompt = prompt('What zindex page to change?'); 
var getpage = getElementById('mobileimage'+testprompt); 
getpage.style.zIndex = '1000';"); 
+0

*“我的问题是,我想从我的JavaScript代码生成一些JavaScript。” * - 您永远不应该需要做到这一点,你肯定给的例子不需要你这样做。 – Quentin

+0

@Quentin如果您使用'document.write'来生成一个全新的页面(document.open/write/close),这很有用。新页面不会保留旧页面中的Javascript,因此您需要编写新页面。 –

回答

3

你在找什么是eval()。但是,我会建议不要使用它,因为使用eval运行Javascript代码时存在很多安全问题。请参阅why-is-using-the-javascript-eval-function-a-bad-idea

+1

不要引用W3Schools http://w3fools.com – jan267

+0

@ jan267对不起,这是第一个在谷歌出现的结果:P。 Mozzila链接好吗? https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/eval – Zappa

1

用javascript写JavaScript的问题是,浏览器将只执行过代码的第一关。用document.write()编写的JavaScript不会被执行,因此渲染它毫无用处。为什么不能简单地将你想要执行的javascript写成javascript而不是通过document.write()来抽象呢?

+0

嗨,我正在使用JavaScript来生成一个内含JavaScipt的HTML页面。然后将HTML页面放置在某处并在用户执行生成的JavaScript时进行。 –

0

getElementById()仅在加载DOM后才起作用,而在通过解析HTML文档时立即执行通过document.write()写入的代码。你必须封装在回调代码中的DOM加载后执行(我建议使用像jQuery库)在单行

0

运行它,没有它的工作原理

document.write("var testprompt = prompt('What zindex page to change?'); var getpage = getElementById('mobileimage'+testprompt); getpage.style.zIndex = '1000';"); 
串之间的“\ n”
1

工作对我来说:

<html> 
<body> 
<script> 
var i = 1; 
document.write(i); 
document.write("<scr"+"ipt> i = 2; document.write(i); </scr"+"ipt>"); 
i = 3; 
document.write(i); 
</script> 
123 
</body> 
</html>