绕过javascript中window.open()的弹出窗口阻止程序
我有一个文本文件,其中有几行包含一些关键字。我的练习是从该文件中提取信息并创建一个html文档,在文本文件中插入带有适当标记的留置权。 例如: 这是文本文件:绕过javascript中window.open()的弹出窗口阻止程序,javascript,html,Javascript,Html,我有一个文本文件,其中有几行包含一些关键字。我的练习是从该文件中提取信息并创建一个html文档,在文本文件中插入带有适当标记的留置权。 例如: 这是文本文件: This should be in a html tag with START as class name THIS SHOULD BE IN A HTML TAG WITH CAPITALS AS CLASS NAME This should be in a HTML tag with CODE as class name 现在编写j
This should be in a html tag with START as class name
THIS SHOULD BE IN A HTML TAG WITH CAPITALS AS CLASS NAME
This should be in a HTML tag with CODE as class name
现在编写javascript程序将这些行插入HTML非常容易。我只是使用了一些字符串处理,如下所示:
if(contents[i].indexOf(" CODE")!=-1){
w.document.write("<p class='code'>"+lines+"</p>");
}
其中somefile.html是任意文件。但我不想这样做,这似乎不是一个干净的方式。)
此外,为了访问该文件,我必须将其托管在服务器上(我目前正在使用node为此提供的http服务器),除此之外还有其他选择吗
我不想使用Jquery,我希望用香草javascript完成所有这一切。但是,如果有可能使用Jquery执行此操作,请让我知道
非常感谢:)原则上,所有现代浏览器都会阻止弹出窗口。他们会问你是否允许他们,否则他们不会允许 如果必须是另一个文档,那么iframe可能有用吗
以下是一些额外的解决方案:
- 有一个假弹出窗口。只是一个div,包含所有浮动在常规内容之上的数据。您可以添加一个“x”按钮来关闭它,并实现一些拖放功能。视觉效果大致相同,但用户不能将其视为操作系统级窗口
- 尝试以某种方式将内容集成到常规页面中。可以是iframe,也可以是常规内容。现代设计已经过了在单一平面之外需要弹出窗口和其他内容的阶段。此外,在移动设备上,弹出窗口如何工作还不清楚
- 在新选项卡中打开内容。这基本上只是使用
标记。你可以把你想要的内容放在链接的片段中,你打开的页面可以解码片段并显示你想要的信息。可能无法处理大量内容 - 有一个更好的允许弹出窗口的流程。通知用户您的站点需要弹出窗口,并让他们禁用它。一个好方法是提供一些按钮来触发弹出窗口,而弹出窗口将被阻止。然后通知他们告诉浏览器允许弹出窗口,因为他们中的大多数人都会显示有关如何阻止弹出窗口的信息。然后,您可以显示您的常规弹出窗口,而不会有用户丢失数据的风险
w=window.open("somefile.html")
w.document.opne("somefile.html")