javascript - 如何在现有的浏览器选项卡中打开网址?

标签 javascript

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

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

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

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

我认为 javascript 必须有某种方法来保存您正在打开的浏览器选项卡的名称,然后,如果您愿意,可以打开一个新的 URL,或者将一个 URL 放在另一个 URL 上,但我找不到它们。 window.open 选项看起来不能做到这一点。

关于如何实现这个目标有什么想法吗?感谢您抽出时间。

最佳答案

您可以尝试弹窗中的window.opener方法来访问主页。高级详细信息请参见:http://www.w3schools.com/jsref/prop_win_opener.asp ,但如果你用 Google 搜索一下,就会有示例。

我们为一个项目做到了这一点,它有效,但有一些注意事项:

  1. 跨域基本上不起作用,如果您有多个域,则必须发挥更多创意。
  2. 跨浏览器也要小心,我们必须添加一些自定义 JavaScript 来处理

基本上,您需要在主页上做的是定义一个全局 JavaScript 方法来执行您想要的操作(它可以接受参数)。然后,在弹出窗口中,您可以使用 window.opener.MethodNameHere(); 调用它

理论上,如果你确实需要处理跨浏览器,你可以尝试使用 postmessage,我相信它仅在 html5 中原生支持(有 html4 的插件),但在这种情况下可能会很棘手,并且我不知道如何从我的头脑中做到这一点。

关于javascript - 如何在现有的浏览器选项卡中打开网址?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29472837/

相关文章:

php - 循环 SQL 行并对它们进行排序

javascript - 如何禁用下拉/选择器元素的箭头键?

javascript - 本地搜索 v-data-table Vuetify

javascript - 不允许获取补丁请求

javascript - Google App 脚本触发器 ID 格式

javascript - 我如何返回满足指令的 promise ?

javascript - 编写一个 JavaScript 程序来计算闰年

javascript - 是否可以在 ASP.Net 页面和 Silverlight 之间进行交互?

javascript - Cocos2D JS Vec2 未定义

javascript - 无法使用 Angular 在复选框上执行 selectall