所以我已经做了很多深入研究为什么某些JS在某些浏览器中可以正常工作。我现在的问题是,当用于写入DOM的代码在函数中时,Chrome处理document.write的确切程度。这是我的代码,它是一个简单的文本形式,导致弹出窗口。
从第一页开始;
<form name="webPage"">
Please type anything over 5 characters: <input type="text" name="txt2" ><br/>
<input type="submit" name="b2" value="Confirm" onClick="validate2()">
</form>
&#13;
来自函数java文件
function validate2() {
var valTxt = document.webPage.txt2.value;
if (valTxt==null || valTxt==""){
alert("Field cannot be empty!");
return false;
}
if(valTxt.length<5){
alert("You must enter at least 5 characters!")
return false;
}
if(valTxt.length>5) {
openWin(valTxt);
return true;
}
}
function openWin(txt3){
var myWin= window.open('mypopup.html', 'myWin', 'width=300,height=300');
myWin.document.open;
myWin.document.write('<p>this is text</p>' + txt3);
myWin.document.close();
}
&#13;
然后最后的弹出窗口html文件中没有任何内容,只是一个空白的HTML5模板。此代码在Firefox中运行良好,但在Chrome中则不然。我觉得有这个非常基本的例子,2个不同的浏览器工作不同可以帮助很多人。感谢。