Javascript 从内容脚本访问网页脚本

Javascript 从内容脚本访问网页脚本,javascript,google-chrome-extension,onclick,Javascript,Google Chrome Extension,Onclick,我试图执行链接的onclick事件,但它不会将访问者带到任何地方,而是执行JavaScript代码。但是,考虑到内容脚本无法访问其运行的网页上的脚本,我如何执行代码?应该执行的代码使用在网页中声明的自定义函数。使用jquery如何: 假设页面中的脚本包含您希望能够执行的函数“myfunc” var脚本=$webscript;或者以任何其他方式获取包含代码的脚本标记 var myfunc = null; // declare the function-name (perhaps even not

我试图执行链接的onclick事件,但它不会将访问者带到任何地方,而是执行JavaScript代码。但是,考虑到内容脚本无法访问其运行的网页上的脚本,我如何执行代码?应该执行的代码使用在网页中声明的自定义函数。

使用jquery如何:

假设页面中的脚本包含您希望能够执行的函数“myfunc”

var脚本=$webscript;或者以任何其他方式获取包含代码的脚本标记

var myfunc = null; // declare the function-name (perhaps even not necessary)
eval(script.html()); // where myfunc is declared and assigned to your myfunc variable
现在尝试使用以下功能:

myfunc();
编辑2: 您可能还可以:


为什么你不能把你需要访问的javascript放在外部文件中?它不是我的网页,我也不喜欢在我的文件中携带这样的代码。我已经尝试过用onclick中的代码进行eval:它不会工作,因为所需的函数没有声明。这就是为什么你需要声明它,使用字符串文字,其中包含使用.htmlOh复制为文本的实际代码,似乎我误解了它。但是,如果页面是动态的,我如何声明代码?它应该可以在任何页面上运行,我不需要修改。也许您可以循环并“分析”包含所需代码的脚本标记,例如,在使用eval之前,它的文本是否包含“myfunc=function”。
var copyScript = document.createElement('script');
copyScript.type = 'text/javascript';
copyScript.text = script.html();
document.head.appendChild(copyScript);