老榆头 发表于 2011-12-28 23:53:08

[已解决]_IEDocInsertHTML不能插入<META>吗?

本帖最后由 老榆头 于 2011-12-30 13:42 编辑

想利用_IEDocInsertHTML来插入<META HTTP-EQUIV=REFRESH CONTENT=2>
看是否能实现自动刷新的功能
却怎么也实现不了
请问,如何插入<META>这个标签呀?Func _test()
        $url = "http://www.baidu.com"
        $oIE= _IECreate($url,0,1)
        _IELoadWait($oIE)


        ;reload document every 2 seconds
        $s_html = '<META HTTP-EQUIV=REFRESH CONTENT=2>'
        ;想插入的是上面 这行,可是却实现不了
        $s_html = '<h2>This HTML is inserted After Begin</h2>'
        ;这行测试文本是可以的

        $obj = _IETagNameGetCollection($oIE, "meta", 0)
        _IEDocInsertHTML($obj, $s_html, "beforebegin")

        ConsoleWrite(_IEDocReadHTML($oIE) & @CRLF)
EndFunc

80ren 发表于 2011-12-29 09:19:21

这个我也想知道

老榆头 发表于 2011-12-29 16:00:23

有朋友知道吗?

kyniel 发表于 2011-12-29 17:06:08

回复 1# 老榆头 #include <ie.au3>
$url = "http://www.baidu.com/"
$oIE= _IECreate($url,0,1)
_IELoadWait($oIE)
$s_html=_IEDocReadHTML($oIE)
$string=FileRead(@ScriptDir&"\1.txt")
$s_html=StringRegExpReplace($s_html,"([\s\S]*<\/HEAD>)([\s\S]*)","\1"&$string&"\2")
_IEdocWriteHTML($oIE,$s_html)
你把下面的代码放到脚本下的1.txt里(主要是其中太多引号和分号转换成autoit字符串太麻烦了)<script language="javascript">
setTimeout("self.location.reload();",5000);
</script>
然后运行,自己测试下可行。
怎么说那个meta的方法就算插进去了也没有用,刷新会变成空白页。这和html的某些机制有关吧。用js刷新就没问题。

blue_dvd 发表于 2011-12-29 22:01:09

受教了,做一下笔记,貌似用到正则了!

老榆头 发表于 2011-12-30 10:49:02

本帖最后由 老榆头 于 2011-12-30 13:38 编辑

回复 4# kyniel


    谢谢kyniel,测试了一下,的确可以。

解决了我的问题,谢谢。

   谢谢!

老榆头 发表于 2011-12-30 13:43:00

请问如何改分类呀?
想改为已解决,没有找到
页: [1]
查看完整版本: [已解决]_IEDocInsertHTML不能插入<META>吗?