可能重复:
Server side browser that can execute JavaScript
Execute javascript in PHP
如何解析包含JavaScript代码的HTML,如果可能,最好使用PHP脚本。
举个例子:
<a href="javascript:link(10, true);">link</a>
应该用JavaScript函数返回的适当值替换,例如
<a href="http://www.example.com">link</a>
一个更复杂的例子是一个保存的facebook html页面,里面堆满了大量的javascript代码。
概括为: 使用html + javascript
返回页面的DOM答案 0 :(得分:1)
你可以给这个链接一个ID。并不是说这个解决方案是javascript,jQuery。
所以给链接一个Id或类。
$('.link').each(function() {
var functionName = 'link';
var start = $(this).attr('href');
remove = start.replace('javascript:', ''),
get = remove.replace(new RegExp('^'+functionName+'\(((.+\,?)+)\)\;?', 'g'), function(a, b, c) {
return c.replace(/[()']/g,'')
}), args = get.split(",");
//read settings
var firstArgument = args[0];
$(this).attr('href', firstArgument)
});
请注意,这只是一个例子。
用法:
<a class="link" href="javascript:link('http://facebook.com')">Hi</a>
这会产生实际的链接http://facebook.com。
以这种方式添加新参数很难,但并不是很专业。 但这应该做你想要的,我只是不知道你的链接函数实际上是什么,所以我没有用布尔值添加参数。当然,这可能会变得更加复杂,你可以编写一个可以做到这一点的函数,但我只是为你的速度写了这个。
查看example。
答案 1 :(得分:0)
你做不到。单击时,javascript:
URI只调用该函数并让它执行任何操作(可能包括在某处导航);他们不期望或使用返回值。在许多用例中,该功能可能根本不会导致任何导航。
答案 2 :(得分:0)
DomDocument可用于解析PHP中的HTML,包括JS:http://php.net/manual/en/class.domdocument.php
您只需回显cURL或wget(或您使用的任何内容)的输出而不转义HTML字符,就可以使用HTML“呈现”JS。对于外部JS,您需要构建一个爬虫程序,它将抓取DomDocument
script
标记并获取适当的URL并将其加载到可访问的位置,除非您直接从其服务器使用它我认为他们不会对此感到高兴。
编辑:我的一些评论后的新答案是:没有