javascript - 在 chrome 中打开包含特定内容的新标签页
问题描述
我需要在浏览器中打开新选项卡,在其中为用户指定基本说明(可能是 html 字符串?)(我没有网站)。
我从w3schools得到的最接近的是:
var myWindow = window.open("", "MsgWindow", "width=200,height=100");
myWindow.document.write("<p>This is 'MsgWindow'. I am 200px wide and 100px tall!</p>");
但是我有问题:
- 打开新窗口(我真的更喜欢新标签) -这里的评论说取决于用户浏览器设置(所以也许解决了)
- 在 Chrome 中不起作用(我测试了 86.0.4240.198) - 在 FF 中成功测试
解决方案
只需打开一个网站
//tab spawner
var myWindow=window.open("chrome://newtab");
myWindow.onload=function(){this.document.write('textHere')}
问题是,你需要有一个来源,例如我的,chrome://newtab
但是一旦你做到了,""
它就行不通了
但是,您可以在源代码中使用简单的点来使其工作。例如
//window spawner
var myWindow=window.open("...", "MsgWindow", "width=200,height=100");
myWindow.onload=function(){this.document.write("<p>This is 'MsgWindow'. I am 200px wide and 100px tall!</p>")}
请注意,这将chrome://newtab-page/...
作为它的源打开,然后你用任何东西覆盖它。在最后一个示例中,我将向您展示如何从新选项卡执行 javascript 的 2 种方法
//window spawner
var myWindow=window.open("javascript:alert('this message comes from url source')", "MsgWindow", "width=200,height=100");
myWindow.onload=function(){
this.document.write("<p>This is 'MsgWindow'. I am 200px wide and 100px tall!</p>")
this.window.eval(`alert('this message comes from the tab or window')`)
}
推荐阅读
- python - python中的llist索引超出范围
- reactjs - 数组中没有渲染元素 - ReactJS
- ios - 在目标 c 中填充一系列自定义模型崩溃
- typescript - 如何将对象列表映射到字典或地图?
- javascript - 从两个脚本中只有一个有效
- javascript - Vue.js Element Ui - 打开 el-dialog 时捕获/锁定焦点
- three.js - Forge 查看器中对象的 X、Y、Z 坐标
- c# - 是否可以在 TypeScript 中创建轻量级数字包装类型,类似于 C# 中的 Color 结构
- openshift - 如何重新安装作为活动 GlusterFS 节点的 OpenShift 节点?
- mysql - MYSQL加入多个条件不起作用