昨晚在Java Webb项目下iframe嵌一个远程网页,被嵌的页面假设叫a页面,关键在b页面嵌入远程a页面的时候老是弹出:
Failed to find paramater: c0-scriptNmae
Java应用控制台日志打出
Error: java.lang.IllegalArgumentException, Failed to find parameter: c0-scriptName
Error: java.lang.IllegalArgumentException, Failed to find parameter: c0-scriptName
Error: java.lang.IllegalArgumentException, Failed to find parameter: c0-scriptName
浏览器弹出alter警告窗3次,控制台也打印3次,看起来是Java应用程序的错误,说是参数的问题。可远程a页面通过浏览器访问完全没有任何问题,包括Chrome浏览器远程a页面也没有任何问题。难道页面的内容会影响iframe?
后来通过测试,发现有一个很诡异的bug,在创建iframe标签时你要指定name值并且name值包含一个树
字,就出现以上错误,只要把树
字去掉就正常。但我在src到其它普通页面时即使name值中包含树
字也没有任何影响!这个Bug花了我一天时间,但却无法让人理解,貌似跟Java有关,如果哪位Java大神知道麻烦告诉我。
b.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
</head>
<body>
<iframe name="树" width="100%" height="700px" src="http://localhost:8080/a.html"></iframe>
</body>
</html>
a.html
<meta charset="utf-8" />
<script type="text/javascript" src="dwr/engine.js"></script>
<h1>Hello Word!</h1>
然后使用浏览器打开你的b.html
,就会重现以上错误了。在b.html页面中把iframe标签的name="树"
这个属性去掉,或者把name的值修改成其它值,就不会报错。我认为有可能跟中文字符集有关系。