需要在浏览器中识别用户文本选择的原始html中的位置

时间:2010-10-28 14:28:40

标签: javascript asp.net asp.net-mvc

我很清楚这是一件不寻常的事我想在这里做,但只要相信我,是的,我确实需要这样做。这都是关于网页的原始html(与视图源相同)中的模式匹配。

如果用户在Web浏览器中选择了某些文本,我希望能够说 - 该选择位于字符串中的位置(比如说)1234,(或者说有些),它们构成了文档的视图源

主要问题是,围绕用户选择获取的所有信息都与文档html的DOM表示有关,这与视图源(原始html)不同。

我可以在客户端获得相当多的信息,我想我将不得不通过这个服务器端并做一些模糊逻辑类型的东西来大致锻炼选择所涉及的原始html中的位置。 / p>

我没有太多关于程序中“推断”决策的经验。

任何人都可以提出有关如何处理此问题的有用建议(我的大脑吸烟了!)。

1 个答案:

答案 0 :(得分:1)

你想做的疯狂的事情......你可以创建一个带有两个输入参数的web服务(并返回第一个匹配的位置):

  • 所选文字
  • 推介页面(确切网址)

通过JavaScript,您现在可以在用户选择某些文本时查询(可能有一个按钮?“检查位置”)并将该文本字符串发送到Web服务以及当前URL。

webservice现在将HTML作为字符串下载,例如像这样:

using (WebClient client = new WebClient ())
    string htmlCode = client.DownloadString("http://mypage.com/page.html");
}

然后你需要做的就是在HTML页面字符串中搜索你的字符串,并通过webservice返回第一次出现(可能使用htmlCode.indexOf(myPassedSelectedText))。