对于我的Xamarin IOS应用,我想在UIWebView提供的URL内容中获取自定义属性值。
URL内容:
<html>
<head>
<style>
.democlass {
color: red;
}
</style>
</head>
<body>
<div id="frame" data-link="LINKER"></div>
<p id="demo"></p>
<button>Try it1</button>
<button>Try it2</button>
<p id="demoz"></p>
<button>Try it3</button>
</body>
</html>
Xamarin IOS:
var webView = new UIWebView();
webView.LoadRequest(new NSUrlRequest(new NSUrl(" */above html page/*")));
var url = webView.EvaluateJavascript("document.getElementsByName('div')[0].getAttribute('data-link')");
当我在UIWebview
上运行EvaluateJavascript
时,我希望url
参数可以获取值LINKER
,但它正在返回空字符串。
有人可以帮我吗?我不确定我想念什么或做错了什么。
正确的方式:
var url = webView.EvaluateJavascript("document.getElementById('frame').getAttribute('data-link');");
ps:确保在WebView完成加载后执行此行。
我的代码:
public override void ViewDidLoad()
{
base.ViewDidLoad();
var webView = new UIWebView();
webView.LoadRequest(new NSUrlRequest(new NSUrl(" */above html page/*")));
web.Delegate = new myDelegate();
}
public class myDelegate : UIWebViewDelegate
{
public override void LoadingFinished(UIWebView webView)
{
var str = webView.EvaluateJavascript("document.getElementById('frame').getAttribute('data-link');");
}
}