Ответ 1
Вы можете сделать это:
var newWindow = window.open();
а затем do
newWindow.document.write("ohai");
Я делаю Greasemonkey script и хотел бы открыть новую вкладку, которая не отображает URL-адрес, а некоторый HTML, который является частью script. Поэтому в основном я хочу сделать что-то вроде этого (что явно не работает):
window.open('<html><head></head><body></body></html>');
or
GM_openInTab('<html><head></head><body></body></html>');
Любые подсказки приветствуются!
Вы можете сделать это:
var newWindow = window.open();
а затем do
newWindow.document.write("ohai");
Если другой ответ дает вам 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);
Допустим, у вас есть локальный файл .html
. Что вы можете сделать, это:
var newWindow = window.open();
newWindow.document.location.href = "/path/to/html/file";