繁体   English   中英

如何在已存在的浏览器选项卡中打开URL?

[英]How to open a url in an already existing browser tab?

我想通过javascript在我的应用程序中执行以下操作。

1)按下网页上的一个按钮,打开一个弹出窗口。

2)在弹出窗口中选择一些选项并接受。

3)根据在弹出窗口中选择的内容来更改第一个网页中内容的内容并进行更改。 可以接受一个GET请求,并且如果可能的话,带有所选选项的弹出窗口也应该再次位于顶部,方法是将其置于顶部或通过使用相同的选项打开一个新请求。

我认为javascript必须具有某种方式来保存正在打开的浏览器选项卡的名称,如果需要,可以打开一个新的URL或将其放在另一个之上,但我找不到它们。 window.open选项似乎无法执行此操作。

关于如何实现这一目标的任何想法吗? 谢谢你的时间。

您可以尝试在弹出窗口中使用window.opener方法来访问主页。 此处提供了高级详细信息: http : //www.w3schools.com/jsref/prop_win_opener.asp ,但是如果您使用Google,则有示例。

我们为一个项目完成了此工作,但有一些注意事项:

  1. 跨域基本上是行不通的,如果您有多个域,则必须发挥更大的创造力。
  2. 跨浏览器也要小心,我们必须添加一些自定义javascript来处理

基本上,您需要在主页上定义一个全局javascript方法,该方法可以执行您想要的操作(可以带参数)。 然后,在弹出窗口中,可以使用window.opener.MethodNameHere();对其进行调用。

从理论上讲,如果您确实需要处理跨浏览器,则可以尝试使用postmessage,我相信只有html5本身才支持postmessage(有html4的插件),但是在这种情况下正确处理它可能会很棘手,我不知道该如何解决。

暂无
暂无

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

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