我需要从另一个选项卡调用函数。我为此使用
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();