我已经看到这可以在其他类型的对话框窗口中使用,例如"showConfirmDialog",其中可以指定按钮的数量及其名称; 但使用"showInputDialog"时是否可以实现相同的功能?我似乎无法在API中找到这种类型的东西.也许我只是错过了它,但任何帮助都表示赞赏.
我正在玩弄HTML和Javascript中的一些基本结构(即,我是一个HTML/Javascript n00b),并且有一个功能我似乎无法正确实现.简而言之,我想从HTML页面的主体中获取文本并使用Javascript(eval()或new Function())对其进行评估.要看到我对eval()的使用是正确的,我首先尝试了以下代码,它按预期工作(并显示值5):
<script>
window.onload = function () {
eval("var t = function () { if (5>0) return 5; }();");
document.body.innerHTML = t;
}
</script>
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试实现从HTML中获取"代码"并运行它的目标时,这对我来说似乎失败了.这是一段不起作用的代码(我尝试过很多变种):
<script>
window.onload = function() {
var x = document.getElementById("myP").innerHTML;
eval("var e = " + x + ";");
document.body.innerHTML = e();
}
</script>
<body>
<p id="myP">function () { if (5>1) { return 5; } } </p>
</body>
Run Code Online (Sandbox Code Playgroud)
我测试了变量x确实包含了正文中所需的"代码".但由于某种原因,上述情况将无法正常运作; 它只会显示正文并eval在更新innerHTML后忽略它和语句.
更奇怪的是,当我尝试"更复杂"的代码时,它工作正常,例如:
<script>
window.onload = function() {
var x = document.getElementById("myP").innerHTML;
eval("var e …Run Code Online (Sandbox Code Playgroud)