【问题标题】:Is it possible to create a blank page with 'pre-populated' code inside?是否可以创建一个包含“预填充”代码的空白页面?
【发布时间】:2016-12-10 03:58:31
【问题描述】:

我正在尝试创建一个书签,点击它可以使用about:blank 或类似名称打开一个新的“空白页”。

这就是问题所在。新的空白页面需要在其中包含源代码。具体来说,它需要在其中包含 javascript,等待新的空白页面完成加载/实例化(以相关者为准),然后显示一个警告框,显示“成功!”或类似的。

到目前为止,我所做的一切都导致警报显示在 current 选项卡中,同时在不同的选项卡中创建了新的空白页面......否则它会导致新的空白页选项卡仅在当前选项卡中显示和处理警报框后才实例化。

这是我尝试过的。

javascript:
window.open('about:blank'); window.alert('success');

javascript:
var a = window.alert('success');
var b = window.open('about:blank', '', '_blank');
b.document.write(a);

【问题讨论】:

    标签: javascript bookmarklet populate


    【解决方案1】:

    你可以试试这个:

      window.open('data:text/html,<!DOCTYPE html><script>alert("success");</script><body><h1>Hello World!</h1></body>', 'myTab');
    

    由于某种原因,上述代码在 Chrome 中不起作用。在这种情况下,您可以使用:

    var page = window.open();
    page.document.open();
    page.document.write('<html><div>Mert</div></html>');
    page.document.close();
    

    【讨论】:

    • 这正是我正在寻找的解决方案。不幸的是,当我尝试将脚本标签添加到组合中以使警报框正常运行时,小书签无法执行任何操作。
    • 会发生什么?你能提供更多细节吗?
    • 如果可以的话,我会提供更多细节,但据我所知,实际上什么都没有发生。就好像我尝试了以下内容:javascript:window.aler(3+4);。由于在此示例中我拼错了alert,因此书签将简单地不启动。这是我的实际代码,复制并粘贴:window.open('data:text/html,&lt;!DOCTYPE html&gt;&lt;body&gt;&lt;h1&gt;Hello World!&lt;/h1&gt;&lt;script&gt;window.alert('success!');&lt;/script&gt;&lt;/body&gt;', 'myTab');
    • 你想在新打开的页面中显示警报,对吧?
    • 是的,我的错误——确实发生了一些事情。小书签的内容显示在地址栏中,但浏览器仍然无法加载新选项卡,甚至无法在当前选项卡中加载数据页。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-30
    • 2015-07-14
    • 1970-01-01
    • 2012-12-01
    • 1970-01-01
    • 2023-03-31
    相关资源
    最近更新 更多