IFrame Sandbox ist eine Technik, die von außen die Erstellung von Inhalten verwirrend Pop-ups hilft zu schützen, die zu kommen scheinen würde von der Hauptwebseite. Um Warnmeldungs-Popups zuzulassen, müssen Sie das iframe-Tag suchen und das sandbox-Attribut so ändern, dass es den allow-modals-Wert enthält. Für JSFiddle ist dies der Iframe namens "result". Sie müssen Ihre Fiddle erneut ausführen (Strg-Eingabe), nachdem Sie das Tag geändert haben.
Mit dem Webbrowser Developer Tools oder etwas wie Grease Monkey/Tamper Monkey ändern Sie den Iframe.
Daraus:
<iframe name="result" sandbox="allow-forms allow-popups allow-scripts allow-same-origin" frameborder="0">
Um dies:
<iframe name="result" sandbox="allow-modals allow-forms allow-popups allow-scripts allow-same-origin" frameborder="0">
Die folgenden TamperMonkey Schnipsel scheinen schön, den Trick zu tun:
// ==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';
});
Dies ist das Sandbox iframe-Attribut. –
@ DanielA.White Ahh - Ich verstehe! Ich habe einfach 'allow-modals' über Dev Tools hinzugefügt und es hat funktioniert! Sie können das als Antwort hinzufügen :) Aber ich schwöre, das hat früher funktioniert - ist das eine neue Änderung, die JSFiddle getan hat? Gibt es eine Möglichkeit, es zu beheben, ohne es jedes Mal manuell zu bearbeiten/ohne ein Benutzer-Skript oder ähnliches zu erstellen? –
@WouterHuysentruit yeah - das Problem liegt in den neuesten Versionen von Chrome, wie Dans Antwort sagt, 46+ :( –