Учитывая некоторые DataURI, такие как data:text/plain;charset=utf-8,Hello%20World
, возможно ли открыть этот URI в новой вкладке в том же окне браузера?Я знаю, что это возможно для таких адресов, как https://www.google.com
, используя код
var win = window.open('http://google.com', '_blank');
win.focus();
внутри некоторой функции прослушивания события щелчка.НО следующий код не работает должным образом:
var win = window.open('data:text/plain;charset=utf-8,Hello%20World', '_blank');
win.focus();
Вместо того, чтобы открывать новую вкладку с пустой страницей, содержащей текст «Hello World», открывается новая вкладка, котораяявляется полностью пустым, и пространство URL содержит about:blank
вместо dataURI data:text/plain;charset=utf-8,Hello%20World
, как было бы, если бы я открыл dataURI вручную.Что здесь происходит?Почему данные URI и адрес http обрабатываются по-разному?Как я могу исправить это?Обратите внимание, что для этого важно использовать javascript.Хотя этот игрушечный пример не требует этого, в моем реальном проекте используются динамически генерируемые строки dataURI.