从另一个带有 window.open 的浏览器选项卡调用函数



我需要从另一个选项卡调用函数。我为此使用

var str = "javascript:FunctionName('" + param1 + "', '" + param2 + "')";
window.open(str, "WindowsName");

哪里

param2 = "\message";

但是在函数名称中,我接收

param2 = "message";

我尝试使用escape(),unescape()函数。但这对我没有帮助。如何在函数名称中接收 param2 = "\\message"?

您应该使用JSON.stringify()而不是手动字符串化它们。

var str = "javascript:FunctionName(" + JSON.stringify(param1) + ", " + JSON.stringify(param2) + ")";

我不太确定问题是什么,但这解决了它。

您还可以

将函数设置为窗口并使用window.opener在下一页进行访问。

var fn = FunctionName;
var myWin = window;
myWin.fn = fn; //new property on window
myWin.open();
//on new tab
myWin.opener.fn();

相关内容

  • 没有找到相关文章

最新更新