web-dev-qa-db-ja.com

URLではなくカスタムHTMLで新しいタブを開く

私はGreasemonkeyスクリプトを作成していて、URLではなくスクリプトの一部であるHTMLを表示する新しいタブを開きたいと思います。だから基本的に私はこのようなことをしたい(明らかに機能していない):

window.open('<html><head></head><body></body></html>');
or
GM_openInTab('<html><head></head><body></body></html>');

ヒントは大歓迎です!

32
kasper Taeymans

あなたはこれを行うことができます:

var newWindow = window.open();

そして次に

newWindow.document.write("ohai");

55
aL3891

他の答えがあなたに与える場合Error: Permission denied to access property "document"、同じ起源のポリシー問題の処理方法について この質問 を参照するか、または これ を参照してください。

または、すばやく簡単に、データURIを使用します。

var html = '<html><head></head><body>ohai</body></html>';
var uri = "data:text/html," + encodeURIComponent(html);
var newWindow = window.open(uri);
9
Noumenon