shxx
shxx
  • 发布:2015-06-23 18:55
  • 更新:2015-06-23 20:58
  • 阅读:2124

native.js 如何 获取当前页面的DOM内容!

分类:Native.js

测试例子,没能抓到Dom内容,obj 返回为空!


 // 导入UIWebview、NSURLRequest、NSURL类  
            var Webview = plus.ios.importClass("UIWebview");  
            var NSURLRequest = plus.ios.import('NSURLRequest');  
            var NSURL = plus.ios.import('NSURL');  

            //alert(NSURLRequest)  
            // 获取当前Webview对象的实例  
            var wv = plus.ios.currentWebview();  
            // 创建请求对象  
            var req = NSURLRequest.requestWithURL(NSURL.URLWithString('http://www.dcloud.io/'));  
            var str = 'document.getElementsByTagName(\"html\")[0].innerHTML';  
            // 跳转页面  
            plus.ios.invoke(wv,"loadRequest:",req);  
            var obj = plus.ios.invoke(wv,'stringByEvaluatingJavaScriptFromString:',str);  

            **//alert(obj);  执行后obj为空**  
            // 释放对象(可选)  
            plus.ios.deleteObject(req);  
            plus.ios.deleteObject(wv);  
2015-06-23 18:55 负责人:无 分享
已邀请:
DCloud_heavensoft

DCloud_heavensoft

需求比较怪异啊,跨webview获取数据使用webview的evaljs方法,何必走Native.js跑一圈呢?

  • shxx (作者)

    我的webview中是打开网址内容。我是想操作网页的内容,可以用evaljs???

    2015-06-24 08:47

  • DCloud_heavensoft

    回复 shxx: 可以。注入一段js进去

    2015-06-24 14:21

  • shxx (作者)

    怎么把evaljs中的值传出来到页面上父页面上!

    2015-06-24 15:25

  • DCloud_heavensoft

    回复 shxx: 一样啊,在插入的js里继续evaljs给原来的webview

    2015-06-24 15:34

  • shxx (作者)

    能给个简单的代码吗》?谢谢!embed.evalJS("function getDate(){return $('#wrap').html();}str=getDate();"); 我想在外面获取str的值??

    2015-06-24 17:10

  • DCloud_heavensoft

    回复 shxx: 你在evaljs里面的字符串里写的东西,都是在另一个webview里执行的js,那里面的js可以自己写evaljs,来操作原来的webview

    2015-06-24 18:40

该问题目前已经被锁定, 无法添加新回复