我的 Wordpress 插件将架构属性插入到页面的源代码中。到目前为止,我使用 DOMDocument 来完成这项工作。
$imgs = $doc->getElementsByTagName('img');
foreach ($imgs as $img) {
$img->setAttribute('itemprop', 'image');
}
因为我已经在同一个插件中使用了 JQuery,所以我想用这个替换这个函数。
$('img').attr('itemprop', 'image');
我更喜欢 JQuery 的原因是:我注意到无效的 HTML 语法会破坏 DOMDocument 方法。由于我不能指望插件的其他用户只使用有效的 HTML,我禁用了该功能的错误报告。这样做我感觉不舒服,而且 JQuery 函数似乎工作得更优雅(在我看来!)另外,我还没有找到一种将属性插入到 body-tag 中的方法,我只能添加属性到身体内的标签(我想知道你是怎么做到的!)
然而,JQuery 函数有一个缺点——这最终会导致我的问题。我注意到插入的属性不会显示在 Firefox 或 Chrome 的源视图中。这可能是因为 JQuery 在页面呈现后插入了这些。我可以在 Firebug 和 Chrome 检查器中看到项目属性。
现在。
我对爬虫的工作原理没有太多了解,如果他们愿意/可以执行 Javascript。如果他们不这样做,那么为此使用 JQuery 是没有意义的。
你怎么看,什么更好?