Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Ignored call to 'alert()'. The document is sandboxed, and the 'allow-modals' keyword is not set

Whenever running alert('something') in JSFiddle, I get the error:

Ignored call to 'alert()'. The document is sandboxed, and the 'allow-modals' keyword is not set.

in the console.

I cannot find any information on this error through Google.

How do I fix this? What is, and where can I set, the 'allow-modals' keyword?

like image 620
ᔕᖺᘎᕊ Avatar asked Aug 20 '15 13:08

ᔕᖺᘎᕊ


2 Answers

IFrame sandboxing is a technique that helps protect from outside content creating confusing popups that would appear to come from the main website. To allow alert popups you will need to find the iframe tag, and modify the sandbox attribute to contain the allow-modals value. For JSFiddle this is the iframe named "result". You will need to Re-Run (ctrl-enter) your Fiddle after modifying the tag.

Using web browser Developer Tools or something like Grease Monkey/Tamper Monkey change the iframe.

From this:

<iframe name="result" sandbox="allow-forms allow-popups allow-scripts allow-same-origin" frameborder="0">

To this:

<iframe name="result" sandbox="allow-modals allow-forms allow-popups allow-scripts allow-same-origin" frameborder="0">

The following TamperMonkey snippet seems to do the trick nicely:

// ==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';
});
like image 128
pierce.jason Avatar answered Nov 06 '22 04:11

pierce.jason


That is something JSFiddle must have changed to its iframes to add the sandbox attribute. Or Chrome must have added support allow-modals.

Actually it is something new for Chrome 46+:

  • https://groups.google.com/a/chromium.org/forum/#!searchin/blink-dev/sandbox/blink-dev/mXX0AO6Lioo/ual1B_3IqTYJ
  • https://www.chromestatus.com/feature/4747009953103872
like image 34
Daniel A. White Avatar answered Nov 06 '22 03:11

Daniel A. White