Javascript 这种浏览器技术有名字吗?

Javascript 这种浏览器技术有名字吗?,javascript,browser,progressive-enhancement,Javascript,Browser,Progressive Enhancement,此技术的名称包括在浏览器中打开的页面以查找特定内容并修改其吗 一些例子: Skype在页面上查找电话号码,并附加通话菜单 脚本在页面中查找百分比并用小饼图替换它们 广告引擎在页面中查找关键字并将其转换为超链接 在页面上指向其他域的所有超链接旁边添加一个图标 等等 我明白这是一种渐进的提高。但我对第一步特别感兴趣,即内容发现过程。我对提供最佳实践或解释此技术缺点的文章感兴趣 编辑:我添加了一个示例来说明此技术不仅适用于文本节点,而且可以应用于任何类型的html内容。摘要 这是所有网络爬虫中使用

此技术的名称包括在浏览器中打开的页面以查找特定内容并修改其吗

一些例子:

  • Skype在页面上查找电话号码,并附加通话菜单
  • 脚本在页面中查找百分比并用小饼图替换它们
  • 广告引擎在页面中查找关键字并将其转换为超链接
  • 在页面上指向其他域的所有超链接旁边添加一个图标
  • 等等
我明白这是一种渐进的提高。但我对第一步特别感兴趣,即内容发现过程。我对提供最佳实践或解释此技术缺点的文章感兴趣

编辑:我添加了一个示例来说明此技术不仅适用于文本节点,而且可以应用于任何类型的html内容。

摘要


这是所有网络爬虫中使用的技术。请看一看开源的文档化web爬虫/搜索引擎,例如,为此网页执行此代码(从控制台),页面上的所有数字都将替换为“X”:


如前所述,这是呼叫摘要,但您可以在“web爬行机器人/技术/机器人”中找到更多关于它的信息。以下是一些您可能会发现有用的起始文档:


这是一种称为附加组件的功能,它们使用的技术是DOM遍历

您描述的案例并不是某个站点特有的,而是出现在您访问的每个站点上,因此您的浏览器中必须添加一些额外的功能。这通常发生在安装Skype等新软件时,检查安装工具栏等

这种技术可以称为识别(如PNR、Skype电话号码识别),他们所做的就是遍历您的站点DOM

上面描述的这个附加组件可能只在页面加载时运行,所以稍后使用ajax添加的内容不会受到影响

如果它是您自己的附加组件,则可以使用此处描述的javascript广告访问它:


还可以看看GreaseMonkey和jQuery遍历。

因此,目前的结论是,这种技术似乎没有一个名称或既定的实践


感谢那些提到搜索引擎的人,将其视为本地搜索是有意义的,并努力解释内容和结构。

只需遍历DOM并处理所有文本节点……web/html/content/text parsing/scrapingtime Vidas:当然,我一直都在这样做。但这并没有告诉我多少最佳实践和缺点@Christophe DOM遍历API在所有浏览器中都实现。它快速而直接。这也适用于字符串操作。我想不出有什么缺点。我面临的一个问题是:当内容异步添加到DOM中时。例如,谢谢。我意识到我最初的例子太具体了,于是编辑了这个问题。@EdS。你当然可以。按住SHIFT键并输入。您也可以在其他地方编写代码,然后将其复制粘贴到控制台…@ŠimeVidas:谢谢。我尝试了Ctrl+Enter和Shift+Enter。。。然后我用谷歌搜索它。。。什么也没找到。。。继续前进。我不是网络开发者,我只是涉猎而已。再次感谢。我称之为greasemonkey脚本^^尝试在使用ajax加载DOM内容后触发hashchange(),并查看加载项是否再次运行并附加它。我不知道,但也许您的答案需要更详细一些?我查阅了总结的定义,但没有发现任何与问题直接相关的内容。另外,我跟踪了你到YOOP的链接,但没有看到任何文档。有人介意给出否决投票的理由吗。请看什么时候否决投票。
function walkTheDOM( node, func ) {
    func( node );
    node = node.firstChild;
    while ( node ) {
        walkTheDOM( node, func );
        node = node.nextSibling;
    }
}

walkTheDOM( document.body, function ( node ) {
    if ( node.nodeType === 3 ) {
        node.data = node.data.replace( /\d/g, 'X' );
    }
});