大哥,比如我自己作了一个test.html的网页,我把它嵌入到IE控件中,然后再在这个网页的javascript脚本中包含(#include)几个*.js的文件(其中包含的数目可能变化)。(1)我想问您一下,如果我用dhtml的一些接口,枚举test.html文件中所有特定的脚本对象的时候会不会包含那些*.js文件?(2)还是必需得我自己再分析一下test.html文件中html源代码找到类似#include 这样的语句,然后再在每个*.js文件中利用dhtml的接口为每个*.js搞一遍。

解决方案 »

  1.   

    顶一下,顺便再问一个问题:蒋晟大虾曾经说:
    “禁用指定网页上全部ActiveX控件的初始化
    或者
    在文档下载完成之后查找网页中URL属性中包含swf的控件,然后将其URL属性设置为空字符串,就可以屏蔽flash控件。”这种作法,我怎么感觉flash控件有可能已经下载了一部分呢,因为*.js的文件解析是同步的,所以只要把下载flash控件的部分放到*.js文件中,就有可能被下载了,所以我感觉蒋晟大虾说的这种方法,只不过是在显示的时候作了手脚或者也可以说屏蔽的不够全面,没有111222的IInternetProtocolInfo的方法好,不知道是不是这样?
      

  2.   

    1 <Script>元素支持IHTMLScriptElement接口。实际上,<Script>可以既设置src属性,又包含代码。解析的顺序是src属性优先于代码。在浏览器的DocumentComplete事件之后,所有脚本已经解析完毕。
    2 用IInternetProtocolInfo过滤mime数据太麻烦了……
      

  3.   

    首先谢谢蒋大哥的回答,您的IE编程果然深入敌穴呀,呵呵。:)在我上边的第一个问题中可能是没有表达明白,其实我就是问:如果在DocumentComplete发生后,我用(1)中两个接口方法得到script脚本,是不是得不到像<script src="test.js">这样,test.js中的脚本?是不是如果我打算得到网页上所有的脚本,还必须自己再次使用(2)中的方法得到test.js?
    (1)
    HRESULT IHTMLScriptElement::get_text(BSTR *p);
    HRESULT IHTMLScriptElement::put_text(BSTR v);
    (2)
    HRESULT IHTMLScriptElement::get_src(BSTR *p);
    HRESULT IHTMLScriptElement::put_src(BSTR v);IE弄了这么多脚本编程方便也苦闷呀!:(
      

  4.   

    至于第二个问题大哥你的解释,我感觉到很满意,呵呵,确实那个异步插件协议东西看着都郁闷,顺便问一下大哥你手头有没有ETCPROT.EXE这个例子,我在网上搜索了N天都没有搞到!:(但是,大哥你这种改CSS、<object>属性的方法,对于这样的<script src="test.js">真的是无效的:(,所以这能看看那个异步插件协议了!:(
      

  5.   

    src属性优先于代码的意思就是你获取的顺序是src,之后是text。如果指定了src,那么tezt会被忽略。
    通过DHTML DOM来改应该有效啊,脚本不过也是调用DHTMLDOM而已。
      

  6.   

    :)那大哥你的意思是说我在处理DocumentComplete的时候,根本就没有下载activex(flash)控件,这个过程不是异步下在的?可是我看很多的资料都说hook socket时得到的数据包中,数据包中包含的数据都是参杂在一起的,有图片,有*.js,还有*.html等等,难道就activex(flash),是在DocumentComplete的之后下载?:)
      

  7.   

    大哥,我的msn是[email protected] ,希望大哥你不器,加小弟一下!:)
      

  8.   

    Flash的数据可以是异步下载的,但是如果注册了控件,那么控件在处理DocumentComplete的时候已经被初始化了。
      

  9.   

    初始化都完了?那大哥你的意思是*.swf已经下载到了本机,不知道大哥你说是不是这样?
      

  10.   

    大哥,我让你如下的这个回答,给干的迷糊了:)“src属性优先于代码的意思就是你获取的顺序是src,之后是text。如果指定了src,那么tezt会被忽略。通过DHTML DOM来改应该有效啊,脚本不过也是调用DHTMLDOM而已”大哥我想问一下,通过<script src="test.js">放到当前页中的script脚本,在解释之后,我通过如下方法还能够得到吗?HRESULT IHTMLScriptElement::get_src(BSTR *p);
    HRESULT IHTMLScriptElement::put_src(BSTR v);
      

  11.   

    哦,谢谢大哥你关于脚本的回答:),呵呵,非常地感谢!:)不过遗憾的是,如果要彻底拦截flash动画,只能用111222大虾的方法了,呵呵我手里现在有3000多分,有什么办法可以给你1500呢?:)
      

  12.   

    我在COM/ATL/ACITVE的板块也留了类似的问题:),蒋大哥去发个话,我好把帖子结了!:)