Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
绕过javascript中window.open()的弹出窗口阻止程序_Javascript_Html - Fatal编程技术网

绕过javascript中window.open()的弹出窗口阻止程序

绕过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

我有一个文本文件,其中有几行包含一些关键字。我的练习是从该文件中提取信息并创建一个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
现在编写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,也可以是常规内容。现代设计已经过了在单一平面之外需要弹出窗口和其他内容的阶段。此外,在移动设备上,弹出窗口如何工作还不清楚
  • 在新选项卡中打开内容。这基本上只是使用
    标记。你可以把你想要的内容放在链接的片段中,你打开的页面可以解码片段并显示你想要的信息。可能无法处理大量内容
  • 有一个更好的允许弹出窗口的流程。通知用户您的站点需要弹出窗口,并让他们禁用它。一个好方法是提供一些按钮来触发弹出窗口,而弹出窗口将被阻止。然后通知他们告诉浏览器允许弹出窗口,因为他们中的大多数人都会显示有关如何阻止弹出窗口的信息。然后,您可以显示您的常规弹出窗口,而不会有用户丢失数据的风险

在另一个窗口中打开Iframe并在其中写入也会被视为弹出窗口阻止程序的弹出窗口吗?我在页面中没有Iframe的位置,所以我需要在新窗口中打开它。另外,我需要大Iframe的另一个原因是因为文本文件的大小可能非常大。我无法在我的主页中容纳一个大的Iframe。事实上没有。任何可能让用户如此烦恼的东西都会被浏览器阻止:弹出窗口、频繁出现的警告消息等等。我添加了一系列额外的解决方案。哦,好吧。谢谢你的帮助!我一直在搜索网络以寻找绕过此问题的任何方法,但正如有人在回答中所说,如果这样的事情可能发生,所有弹出窗口拦截器都将变得无用。非常感谢您抽出时间!:)我加了一些添加剂。希望有人能帮助你。
w=window.open("somefile.html")
w.document.opne("somefile.html")