gpt4 book ai didi

javascript - 在新选项卡中打开我的应用程序后如何调用 Javascript 函数?

转载 作者:行者123 更新时间:2023-12-02 14:31:28 26 4
gpt4 key购买 nike

我有一种单页应用程序,在一种情况下,我需要在第二个选项卡中打开我的应用程序,并且第二个选项卡必须使用特定的部分 View 打开。

我有这个功能可以在新选项卡中打开应用程序:

function OpenInNewTab(id) {

var win = window.open("Index","_blank");
win.focus();
//MainMenuClick("CandidateInfo", id) <-- this function I want to call on the new Tab, after loading.
}

OpenInNewTab 正在“主页/索引”页面上的新选项卡中打开我的应用程序,这没问题(任务的一半);

现在我想调用 MainMenuClick 以便在索引页面(在新选项卡中)内打开特定的部分 View 。

我不知道如何在新打开的选项卡中调用函数!

是否可以告诉浏览器在新选项卡中调用“MainMenuClick”函数?

最佳答案

您可以使用查询字符串来实现此目的,获取当前部分 View ID 并将其传递给 window.open,如下所示:

var win = window.open("Index?partialViewId=" + partialViewId,"_blank");

在您的 SPA 全局脚本中,搜索该特定键的 url,如果存在,则使用您获得的值调用 MainMenuClick。这意味着在加载页面时,如果名称为partialViewId 的键存在,脚本应在页面加载后选择该部分 View 。 为此,请使用此函数从 url 获取任何 key :

function getParameterByName(name, url) {
if (!url) url = window.location.href;
name = name.replace(/[\[\]]/g, "\\$&");
var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),
results = regex.exec(url);
if (!results) return null;
if (!results[2]) return '';
return decodeURIComponent(results[2].replace(/\+/g, " "));
}

最后得到你的id,如下所示:

var partialViewId = getParameterByName('partialViewId');
if(partialViewId != null)
MainMenuClick("CandidateInfo", partialViewId);

希望有帮助。

关于javascript - 在新选项卡中打开我的应用程序后如何调用 Javascript 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37772971/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com