この投稿の最後の行に見られるように、あらゆる種類のドキュメントを Base64 URL として開くことができることを知りました。これまでのところ、HTML ドキュメントを開くことはできますが、JavaScript が含まれており、 [新しいフォームrr()
の作成] ボタンをクリックして呼び出される関数を実行できません。私は Firefox 16 を使用しており、NoScript がインストールされています。私の知る限り、「data: URLs. でも、なぜボタンをクリックしても機能を実行できないのかわかりませんが、ブラウザのアドレスバーから実行すれば実行できます。チェックすべき問題または可能性のある問題は何ですか?file://
<html>
<title>about:2012-09-04</title>
<script>
function rr() {
var r=document.location;
//This is to make r stop pointing
//to the actual document.location object
r+="";
r=r.replace("data:text/html;base64,","");
r=atob(r);
//r=r.replace(/.+/,"{}")
r=r.replace(document.title, "about:"+document.getElementById("datetitle").value);
r="data:text/html;base64,"+btoa(r);
window.open(r,"_blank");
document.getElementById("urlnew").value=r;
}
</script>
<body>
<form target='_blank' action='http://google.com/search' method='get'>
<input type='text' name='q' />
<input type='hidden' name='tbs' value='qdr:d' />
<input type='submit' />
</form>
<br /><br />
____________________________________
<br />
Date: <input type="text" id="datetitle" /><br />
URL: <input type="text" length="25" id="urlnew" /><br />
<input type="button" onclick="javascript:rr()" value="Create New Form" />
</body>
</html>
base64 でエンコード:
<code>data:text/html;base64,77u/PGh0bWw+DQogPHRpdGxlPmFib3V0OjIwMTItMDktMDQ8L3RpdGxlPg0KDQoNCg0KDQogPHNjcmlwdD4NCiBmdW5jdGlvbiBycigpDQogew0KICB2YXIgcj1kb2N1bWVudC5sb2NhdGlvbjsNCiAgICAvL1RoaXMgaXMgdG8gbWFrZSByIHN0b3AgcG9pbnRpbmcNCiAgICAvL3RvIHRoZSBhY3R1YWwgZG9jdW1lbnQubG9jYXRpb24gb2JqZWN0DQogICAgLy8vDQogICAgICByKz0iIjsNCg0KICAgICAgcj1yLnJlcGxhY2UoImRhdGE6dGV4dC9odG1sO2Jhc2U2NCwiLCIiKTsNCiAgICAgIHI9YXRvYihyKTsNCg0KLy8gICAgICByPXIucmVwbGFjZSgvLisvLCJ7fSIpDQogICAgICByPXIucmVwbGFjZShkb2N1bWVudC50aXRsZSwgImFib3V0OiIrZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRhdGV0aXRsZSIpLnZhbHVlKTsNCiAgICAgIHI9ImRhdGE6dGV4dC9odG1sO2Jhc2U2NCwiK2J0b2Eocik7DQoNCiAgd2luZG93Lm9wZW4ociwiX2JsYW5rIik7DQogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ1cmxuZXciKS52YWx1ZT1yOw0KIH0NCiA8L3NjcmlwdD4NCg0KIDxib2R5Pg0KICA8Zm9ybSB0YXJnZXQ9J19ibGFuaycgYWN0aW9uPSdodHRwOi8vZ29vZ2xlLmNvbS9zZWFyY2gnIG1ldGhvZD0nZ2V0Jz4NCiAgIDxpbnB1dCB0eXBlPSd0ZXh0JyBuYW1lPSdxJyAvPg0KICAgPGlucHV0IHR5cGU9J2hpZGRlbicgbmFtZT0ndGJzJyB2YWx1ZT0ncWRyOmQnIC8+DQogICA8aW5wdXQgdHlwZT0nc3VibWl0JyAvPg0KICA8L2Zvcm0+PGJyIC8+PGJyIC8+DQoNCiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX188YnIgLz4NCiBEYXRlOiA8aW5wdXQgdHlwZT0idGV4dCIgaWQ9ImRhdGV0aXRsZSIgLz48YnIgLz4NCiBVUkw6IDxpbnB1dCB0eXBlPSJ0ZXh0IiBsZW5ndGg9IjI1IiBpZD0idXJsbmV3IiAvPjxiciAvPg0KIDxpbnB1dCB0eXBlPSJidXR0b24iIG9uY2xpY2s9ImphdmFzY3JpcHQ6cnIoKSIgdmFsdWU9IkNyZWF0ZSBOZXcgRm9ybSIgLz4NCiA8L2JvZHk+DQo8L2h0bWw+</code>