我有一些代码,当你点击我的页面上的东西时,使用form.submit()来打开另一个窗口.它适用于IE 6-8,Firefox和Chrome以及Mac上的Safari.但是在Windows XP上的Safari中,单击该内容后,其他任何执行form.submit()的链接都不起作用.即使是相同的事情也不会这样做.这是该按钮的一些回调代码:
accessEmployeeViewClicked = function() {
var form=document.Form<xsl:value-of select="//PAGE/@NAME" />;
form.action = 'ServletName';
form.target = "otherTarget";
form.submit();
};
Run Code Online (Sandbox Code Playgroud)
该功能可通过以下代码访问:
<a href="#" onclick="accessEmployeeViewClicked();return false;">Access employee's view >></a>
Run Code Online (Sandbox Code Playgroud)
我在Safari内置调试器中放置了一个断点,第二次单击它时,它肯定会进入accessEmployeeViewClicked()
函数,但form.submit();
什么都不做.根据评论中的建议,我将form.target更改为"_blank",但这没有任何效果.
我看过这些类似的问题:
并尝试了建议,他们没有帮助.
看来苹果一定意识到了这个问题,因为它是在 2009 年记录的,据说进入了他们的“雷达”错误跟踪系统,但他们一定不关心: https ://bugs.webkit.org/show_bug.cgi?id= 28633
我根据该错误报告实施了解决方法,并且有效:
form.action = 'ServletName';
// Work around for Safari bug suggested in https://bugs.webkit.org/show_bug.cgi?id=28633
if ($.browser.safari)
{
form.action += '?t=' + new Date().getTime();
}
form.target = "otherTarget";
form.submit();
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4227 次 |
最近记录: |