ᔕᖺᘎ*_*ᖺᘎᕊ 14 javascript google-chrome jsfiddle
每当alert('something')在JSFiddle中运行时,我都会收到错误:
忽略对'alert()'的调用.该文档是沙箱,并且未设置'allow-modals'关键字.
在控制台中.
我无法通过Google找到有关此错误的任何信息.
我该如何解决?'allow-modals'关键字是什么,我在哪里可以设置?
pie*_*son 15
IFrame沙盒技术有助于防止外部内容产生混乱的弹出窗口,这些弹出窗口似乎来自主网站.要允许警报弹出窗口,您需要找到iframe标记,并修改沙箱属性以包含allow-modals值.对于JSFiddle,这是名为"result"的iframe.修改标签后,您需要重新运行(ctrl-enter)您的小提琴.
使用Web浏览器开发人员工具或类似Grease Monkey/Tamper Monkey的内容更改iframe.
由此:
<iframe name="result" sandbox="allow-forms allow-popups allow-scripts allow-same-origin" frameborder="0">
Run Code Online (Sandbox Code Playgroud)
对此:
<iframe name="result" sandbox="allow-modals allow-forms allow-popups allow-scripts allow-same-origin" frameborder="0">
Run Code Online (Sandbox Code Playgroud)
以下TamperMonkey片段似乎很好地完成了这个工作:
// ==UserScript==
// @name Enable alert()s
// @match //jsfiddle.com/*
// @require http://code.jquery.com/jquery-latest.min.js
// @grant unsafeWindow
// ==/UserScript==
this.$ = this.jQuery = jQuery.noConflict(true);
$("iframe[name='result']").each(function() {
this.sandbox += ' allow-modals';
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12787 次 |
| 最近记录: |