LeG*_*GEC 5 javascript firefox jquery
我尝试了解Firefox在对话框中添加的"阻止此页面创建其他对话框"的行为.
使用jquery,如果我添加以下侦听器:
//html
<input class="testInput" />
//javascript
$('.testInput')
.click(function(){ alert('clicked') })
.keyup(function(){ alert('keyup') })
Run Code Online (Sandbox Code Playgroud)
从我的非正式测试中,2.只要在onclick回调中没有调用警报框(例如:keyup回调,显示响应ajax动作的警告框......),实际应用.
我在Ubuntu下使用Firefox 9.0.1,据我所知,我没有调整firefox关于这些阈值的设置.我想任何浏览器的任何最新版本都会发生这种情况.
我正在使用jQuery库,但我不认为它在这里是相关的.
我的问题是:这个警告出现在对话框中的确切规则是什么?
[编辑]
使用Chromium/Ubuntu(版本17.0.963.26),阈值似乎只是两个对话框之间的延迟.
你可以在这里从jsfiddle测试这个(thx Rory McCrossan)
小智 6
确切的规则:弹出对话框之间的定时间隔.用于确定此值的值在SUCCESSIVE_DIALOG_TIME_LIMIT中设置
查看代码段下方链接中的第2614行:
nsGlobalWindow::DialogOpenAttempted()
TimeDuration dialogDuration(TimeStamp::Now() - topWindow->mLastDialogQuitTime);
if (dialogDuration.ToSeconds() < Preferences::GetInt("dom.successive_dialog_time_limit",SUCCESSIVE_DIALOG_TIME_LIMIT)){topWindow->mDialogAbuseCount++;return (topWindow->GetPopupControlState() > openAllowed || topWindow->mDialogAbuseCount > MAX_DIALOG_COUNT);}topWindow->mDialogAbuseCount = 0; return false;}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8730 次 |
| 最近记录: |