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

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

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