这个浏览器技术有名称吗?

时间:2011-12-07 19:38:11

标签: javascript browser progressive-enhancement

这项技术的名称是否包含浏览浏览器中打开的页面以查找特定内容并进行修改?

一些例子:

  • Skype在页面上找到电话号码,并附上呼叫菜单
  • 脚本在页面中查找百分比并用小饼替换它们
  • 广告引擎在页面中查找关键字并将其转换为超链接
  • 在页面上指向另一个域的所有超链接旁边添加一个图标

据我所知,这是一种渐进式增强。但我对第一步,内容发现过程特别感兴趣。我对提供最佳实践的文章感兴趣,或者解释这种技术的缺点。

编辑:我添加了一个示例,表明此技术不仅适用于文本节点,还适用于任何类型的html内容。

5 个答案:

答案 0 :(得分:5)

例如,为此网页(从控制台)执行此代码,页面上的所有数字都将替换为“X”:

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' );
    }
});

enter image description here

答案 1 :(得分:0)

此功能称为附加组件,其使用的技术是 DOM遍历

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

技术可称为识别(如PNR,Skype电话号码识别),他们正在做的是遍历您的网站DOM。

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

如果是您自己的插件,可以使用此处描述的javascript广告来访问它:how to call a function in Firefox extension from a html button

还要看看GreaseMonkey和jQuery遍历。

答案 2 :(得分:0)

所以现在的结论是,似乎没有这种技术的名称或既定实践。

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

答案 3 :(得分:-1)

综述

这是所有网络抓取工具中使用的技术。请查看开源良好的Web爬虫/搜索引擎Yioop!

答案 4 :(得分:-1)

因为已经说过它是呼叫摘要,但你可以找到更多搜索热“网络爬行机器人/技术/机器人”。这里有一些您可能会觉得有用的起始文档:

Crawling the Web