繁体   English   中英

使用预填充的 HTML 打开窗口

[英]Open Window with Pre-Filled HTML

对不起,奇怪的标题,我不知道如何表达这个问题。 基本上,我想知道是否有可能打开一个新窗口并从前端用 HTML 填充它,而不是编写实际的路由、数据库调用等(是的,非常懒惰。)沿着这些思路思考......

var html = '<!DOCTYPE html><body><h1>Y HALO THAR</h1></body>'

window.open(html);

我只是在这里向星星许愿吗? 这甚至可能吗?

编辑此答案不再有效,因为实施了阻止某些data:安全功能data: URI。

请参阅打开新选项卡/窗口并向其写入内容? 工作答案

可以选择使用dataurl ...

window.open('data:text/html,<!DOCTYPE html><body><h1>Y HALO THAR</h1></body>');

以下 Web 浏览器当前支持数据 URI:

  • Firefox 和所有使用 Mozilla Foundation 的 Gecko 渲染引擎的浏览器
  • Safari、Chrome 和其他基于 WebKit 的浏览器
  • 歌剧
  • 征服者
  • Internet Explorer 8+(有某些限制)

你需要做的第一件事是让弹出窗口有一个变量 -

var popup = window.open('blankPage.html');
var html = '<!DOCTYPE html><body><h1>Y HALO THAR</h1></body>';

popup.document.write(html);

建议做以下事情

window.open('data:text/html,<!DOCTYPE html><body><h1>Y HALO THAR</h1></body>');

由于“数据:”津贴的折旧,不再适用于 Chrome。

https://developers.google.com/web/updates/2017/03/chrome-58-deprecations#remove_content-initiated_top_frame_navigations_to_data_urls

如果您以前使用过它,您的代码现在将打开一个空白窗口。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM