现在要开发一个这样应用,没一点头绪,请各高手帮忙想想办法用户输入一个网页页面地址,我先读出其源代码内容.然后再将该页面显示出来.显示出该页面内容后,用户在这个页面上点击某一部分,可能是一行文字,可能是一幅图片,我要在该页面的源代码中找出用户点击部分的源代码是什么?然后再根据该部分源代码再做分析想了半天,没一点头绪,请问有什么办法可以实现该功能不?或者有没有这样的开源项目了?非常感谢了!

解决方案 »

  1.   

    鏅曪紝涓€鍫嗕贡鐮侊紝鐪嬩笉鎳備簡锛宑sdn鐘繖绉嶉敊璇紵
      

  2.   

    感谢各位老兄的回复timbear(Tim)和li_d_s(鄙视那些不懂Java却跑来乱骂的人,.NET没啥了不起) 两位老兄的回复我这里看都是乱码啊,看不到你们的内容啊。
    我不是要在浏览器里实现这个功能,我是要在我的程序中实现这个功能啊。例如我只能用一个PANEL去显示这个页面啊
      

  3.   

    fireFox有这个功能,我想这个应该很难实现的,除非调用浏览器的内核,或者自己写浏览器,呵呵
      

  4.   

    其实很多的网页设计工具,如Dreamweaver 就可以做到一选了网页的界面,在代码设计器里源代码也会自动跳到那些部分上去的。只是现在我不知道实现的原理是什么,郁闷了
      

  5.   

    > 我不是要在浏览器里实现这个功能,我是要在我的程序中实现这个功能啊。
    > 例如我只能用一个PANEL去显示这个页面啊这样看来,你这个问题的难度倒不在于“提取选定内容的源码”,而在于“把 HTML 内容显示出来”,这一点做到了,前面一个问题也就不难了。估计你不会完全自己用程序去实现“显示 HTML 内容”的功能,应该找一个功能包。网上搜一下吧。
      

  6.   

    alert(event.srcElement.outterHTML)
    可以吗?
    有什么难的?
      

  7.   

    说的具体一点,你读出源代码内容以后,需要转换一下,给每个画面元素加上onlick事件,
    在body的onload事件里面加上 onload="addEvent()"然后再在源代码内容的头部插入
    <script language="JavaScript">
    function showHtml()
    {
      alert(event.srcElement.outerHTML);
    }function addEvent(){
      for( var i = 0; i < form1.elements.length; i++ ){
        var elm = form1.elements(i);
        var tgnm = elm.tagName;
        switch ( tgnm ){
          catch 'IMG':
            elm.attachEvent('onclick', showHtml);
            break;
          case 'INPUT':
            elm.attachEvent('onclick', showHtml);
            break;
          default:
            break;
        }
      }
    }
    </script>
      

  8.   

    我原先以为用JAVA可以很方便就可以显示出读出来的网页源代码,用代码试了一下,发现效果很差,确实还要先解决如何显示HTML代码的问题了。请问哪位老兄弄过类似的做法,有什么好的处理包或开源项目来解决该问题没?JTextPane tp = new JTextPane(); 

    try { 
    URL url = new URL("http://www.163.com"); 
    tp.setPage(url); 
    } 我直接这样显示163,但效果太差了
      

  9.   

    弄了一个晚上,稍微有点头绪了。
    如果还用上面的方式(用SWING)来显示网页的话,我可以在SWING上判断用户的选择的文字是什么,可以判断用户点击的链接的链接内容是什么,这样我可以在源代码里面找到用户点击或选择的内容了。但用JEditorPane显示出来的网页效果太差,FLASH内容显示不出来。我还试了一下可以用另外的方式显示出网页内容。用SWT的方式,用:org.eclipse.swt.browser这个包来显示,这样显示出来的网页效果跟IE里面显示出来的效果几乎没什么两样了。JS,CSS,连FLASH都支持了,而且里面的链接也可以点来点去的,跟在IE里看网页居然感觉没什么两样。SWT居然在org.eclipse.swt.browser这个包里面几乎实现了一个比较完整的浏览器功能了,厉害,不过我完全不知道里面的原理,以前完全没有接触过SWT开发了。运行了几次下面的代码看来看去,感觉这个SWT里的弄法好象应该是直接调用了IE一样????????。所以用SWT方式来显示的话,我不知道怎么去获得用户的点击和选择事件了。哪位高手可以帮帮忙解决捕捉这个选择和点击事件了?如果能得到这些那我的这个功能基本就能实现了。
    SWT代码如下:
    package com.augurit.websearch.test;import org.eclipse.swt.SWT; 
    import org.eclipse.swt.browser.*; 
    import org.eclipse.swt.layout.*; 
    import org.eclipse.swt.widgets.*; public class ShowSlashdot { 
        public void run() { 
        Display display = new Display(); 
        Shell shell = new Shell(display); 
        shell.setText("Slashdot"); 
        createContents(shell); 
        shell.open(); 
        while (!shell.isDisposed()) { 
          if (!display.readAndDispatch()) { 
            display.sleep(); 
          } 
        } 
        display.dispose(); 
      } 
      
      private void createContents(Shell shell) { 
        shell.setLayout(new FillLayout());     // Create a web browser 
        Browser browser = new Browser(shell, SWT.NONE);     // Navigate to Slashdot 我特意用了个比较复杂结构的视频网站来测试了
        browser.setUrl("http://www.youtube.com"); 
      }   /** 
       * The application entry point 
       * 
       * @param args the command line arguments 
       */ 
      public static void main(String[] args) { 
        new ShowSlashdot().run(); 
      } 
      

  10.   

    呵呵,现在我就想找个已经有如开源的开发包来处理啊,自己再写个HTML解析的会弄死人了,时间上也不允许了。
      

  11.   

    其实用firefox就可以了,选择部分想要查看源代码的网页内容,然后键  右键,就可以看见最下面附近有一个“查看部分选中源代码” 这个功能了。