Pra*_*nat 29 javascript dom internet-explorer-9 domexception
以前在IE8中工作的JS现在在IE9中失败了.
document.createElement('<iframe id="yui-history-iframe" src="../../images/defaults/transparent-pixel.gif" style="position:absolute;top:0;left:0;width:1px;height:1px;visibility:hidden;"></iframe>');
Run Code Online (Sandbox Code Playgroud)
我得到以下异常:SCRIPT5022:DOM异常:INVALID_CHARACTER_ERR(5)
上面的代码是不符合标准的.该问题的解决方案是什么?
Ada*_*res 29
createElement的API指定构造函数需要string该种类的元素名称.IE9似乎更严格地遵循标准.您可以使用以下代码完成与尝试相同的操作:
var iframe = document.createElement("iframe");
iframe.setAttribute("id", "yui-history-iframe");
iframe.setAttribute("src", "../../images/defaults/transparent-pixel.gif");
iframe.setAttribute("style", "position:absolute;top:0;left:0;width:1px;height:1px;visibility:hidden;");
Run Code Online (Sandbox Code Playgroud)
http://msdn.microsoft.com/en-us/library/ms536389(v=vs.85).aspx
小智 13
对于jQuery.bgiframe.js,修复错误的IE6测试会是更好的解决方案吗?
如何替换这个:
if($.browser.msie&&/6.0/.test(navigator.userAgent)
Run Code Online (Sandbox Code Playgroud)
用这样的东西:
if ($.browser.msie && $.browser.version=="6.0")
Run Code Online (Sandbox Code Playgroud)
对于jquery.bgiframe.js:
我在前面下载了1.1.3版本
https://github.com/brandonaaron/bgiframe/blob/master/jquery.bgiframe.js
这解决了这个问题.
| 归档时间: |
|
| 查看次数: |
43473 次 |
| 最近记录: |