Xamarin iOS UIWebView:如何从 URL 内容中获取自定义数据属性值?
Xamarin iOS UIWebView: How to get custom data attribute values from URL content?
对于我的 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');");
}
}
对于我的 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');");
}
}