【发布时间】:2013-04-10 00:57:23
【问题描述】:
我一直在互联网上进行了大量搜索,但尚未找到解决此问题的方法。发生的事情是我有一个页面根据导航点击呈现在一个框架中。此功能在 IE10 之前的所有其他浏览器版本中有效并且已经有效多年,并且在兼容模式下继续完美运行,但我不想要兼容模式。基本上当我的函数到达这行代码时;
window.parent.frames(1).location='../frmsetPage.aspx?
sFrameScrolling=yes&pageurl=secCreating_Editing/secContent/wfContent.aspx?iPageID=' +
p_iSitePageID + '&helpurl=secHelp/wfHelp.aspx?iBuilderPageID=29'
我得到了错误;
SCRIPT5002:预期功能
在我所做的所有研究中,唯一有意义的是谈论 window.parents.frames(1) 对象的贬值,但我似乎无法通过微软的任何东西来验证这一点,所以我真的不知道。
任何帮助将不胜感激! 非常感谢, 尼克G
【问题讨论】:
-
你没有调用框架方法!它应该是方括号。
-
.frames(1).应该是.frames[1].frames 是所有帧的数组,而不是函数。 -
如果必须与帧数组引用的语法不正确有关,为什么这在过去几年中可以在兼容模式和所有其他浏览器上工作?只是IE10在引用这些东西的时候制定了更严格的标准吗?
-
因为网络本质上是(几乎没有记录的)标签汤,历史上浏览器战争的一部分是试图理解“蹩脚/非法/愚蠢”的代码。指定兼容性模式将重新启用 IE 中不可预知的“我猜得比 browserX 更好”的代码。克罗克福德是对的,最好的解决方案是重新开始。同时,只需学习Polyglot markup,就像在过去 15 年中将标准提炼成可靠的东西的其他 web 开发人员一样。恕我直言,它比非标准化的 html5 想法更有意义。
-
PS,出于(历史上的)兴趣(可能是为了嘲笑以牺牲 M$ 为代价),您能否分享一个使用
frames(#)而不是frames[#]的官方 M$ 文档? (因为您刚刚在网上搜索过,正在研究您的框架问题。)
标签: javascript jquery compatibility internet-explorer-10