返回列表 回复 发帖

webview下,已经读取了html,再在该html里添加别的html?

有个webview ,在awakeFromNib 下就读取了一个html,然后我需要自己去读取另一个html,然后添加在里面某个div下。可以实现么?
loadHTMLString  9 c" Y* y. C2 W9 G- {
可不可以呢?
不是很明白...HTML是在你自己的PROJECT下吧?你是想实现类似DOM的功能吗?% s2 R1 ~: _9 @5 ]
为什么不直接导入JS文件呢?
webview已经loadrequest了一个html文件,但是现在需要在这个页面下的某个div下,添加另外的一长串的div,而这一长串的div是存在另一个html文件里面,现在就是需要把这个html读出来,然后在添加进去
方法14 K+ P  g- e( Z3 y4 u2 Q7 i: ?
$ g6 [1 {7 d  S* j# n
DOMDocument *myDOMDocument = [[webView mainFrame] DOMDocument];! U  O9 s5 q8 H, a; {' i, r7 p! ]
DOMElement *mydiv = [myDOMDocument getElementById: @"mydiv"];3 u; A. u  y" T  o, z
[mydiv setInnerHTML:newHTMLString];4 C: l2 p, |" g% @$ z
5 @* Z& o6 y8 |+ h) S
mydiv是你要填充的div, newHTMLString是你load的另一个html。& k; U7 Q3 k% y# |/ p& [+ r
) i5 U& \9 i8 m& O7 T; i0 B1 V3 c9 e' d
方法2
, H, t$ V  R$ {' F- ?" n! S
3 @! b" P$ K' D! S% q在你的html里面引用<script src="prototype.js"></script>  prototype.js自己在网上找找。
# C6 m7 l+ C; p3 X然后. c4 h$ u$ Z/ r" @. [
WebScriptObject *myscript = [webView windowScriptObject];
' o9 U* w4 r/ a& @' cNSString *script = @"var ajax=new Ajax.Updater('mydiv','newhtml.html',{method:'get'});";6 ^. o, ?2 z$ Z8 l
[myscript evaluateWebScript script];
7 o, @  R6 ^* d/ w/ e7 n- J
( Z8 e) q% \( Y" a: \6 `2 y1 |  ~用prototype的ajaxupdater来帮助更新div, newhtml.html是你要添加的新html; V/ ?2 g% g& L8 |$ W8 P9 W; `1 y

5 x1 J/ ?- h  C) x$ p1 j上面的webView是你的WebView对象。% `% x4 x; |( m( F9 K% r

7 b% J* b# y9 C2 a/ \1 \  v9 h( j" P[ 本帖最后由 gagaga 于 2008-7-15 01:56 PM 编辑 ]
1

评分次数

  • 麦客孤独

囧rz...熊猫乱跑
大致思路是这样的,我自己没有建工程试,你可以自己试验一下,两种方法都可以,可能第一种方法好一些。
囧rz...熊猫乱跑
非常感谢!!
1 Q6 f( E. a$ m2 F; U" Z
* A% f- p, d& ^. E专用图很…………
; m: f3 z1 Q  L$ E( S- a. N/ n' X' J  R
7 q  L' r9 U8 T谢谢,(我记得我看的第一篇关于objc的文章是你写的)
呃……这都被评分了 不客气不客气,碰巧最近在看ajax
囧rz...熊猫乱跑
警告,是说找不到setInnerHTML这个方法
没找到,继续查查
返回列表