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

时间:2014-11-26 16:00:29

标签: javascript window.open

我需要来自其他标签的通话功能。我用这个

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

其中

param2 = "\\\message";

但是在接收的FunctionName中

param2 = "message";

我尝试过使用escape(),unescape()函数。但这对我没有帮助。我怎样才能在FunctionName中收到param2 =“\\ message”?

2 个答案:

答案 0 :(得分:2)

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

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

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

答案 1 :(得分:0)

您也可以将功能设置为窗口,并使用window.opener访问下一页。

var fn = FunctionName;

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

//on new tab
myWin.opener.fn();