请问wp8.1 webview是不是把js禁掉了,怎么alert也弹不出来。

wl****zf UID.685940
2015-09-30 发表

请问wp8.1 webview是不是把js禁掉了,怎么alert也弹不出来。怎么启用?

敬告:
为防止不可控的内容风险,本站已关闭新用户注册,新贴的发表及评论;
你现在看到的内容只是互联网用户曾经发表的言论快照,仅用于老用户留存纪念,且仅与科技行业相关,全部内容不代表本站观点及立场;
本站重新开放前已针对包括用户隐私、版权保护、信息安全、国家政策在内的各种互联网法律法规要求,执行了隐患内容的自查、屏蔽和删除;
本站目前所属个人主体,未有任何盈利安排与计划,且与原WFUN.COM所属公司不存在任何关联关系;
如果本帖内容或者相关资源侵犯到您的合法权益,或者您认为存在问题,那么请您务必点此举报或投诉!
全部回复:
VILIC UID.87972
2015-09-30 回复

是。翻文档。

闹****闹 UID.1153426
2015-09-30 使用 Lumia 920 回复

记得wp开发里不用alert 的,wp7.x的时候好像用的是toast,记不太清了。

qiqiminmin UID.638527
2015-10-01 回复

本帖最后由 qiqiminmin 于 2015-10-1 04:35 编辑

要这样做的

【1】嵌入到webview,告诉webview,"你如果想要alert,告诉我一声啊"
【2】在C#的工程中,如果webview大喊,有人需要alert,你然后弹出alert想要的对话框就可以了。

webview和winjs的区别就是,
webview涉及到硬件的或者部分系统控件时(像timepicker, camera之类是符合html5标准的是无缝链接的),比如alert这种或者没有包括进行的,就是利用webview和C#工程通信,实现你想要的功能,大多以json完成

[mw_shl_code=csharp,true]this.MyWebView.NavigationCompleted += MyWebView_NavigationCompleted;
...
async void MyWebView_NavigationCompleted(WebView sender, WebViewNavigationCompletedEventArgs args)
{
//嵌入到webview,告诉webview,"你如果想要alert,告诉我一声啊"
var inject = @"window.alert = function(arg) {
window.external.notify(arg);
};";
await MyWebView.InvokeScriptAsync("eval", new List<string>() { inject });
}

private async void MyWebView_ScriptNotify(object sender, NotifyEventArgs e)
{
//在C#的工程中,如果webview大喊,有人需要alert,你然后弹出alert想要的对话框就可以了。
Windows.UI.Popups.MessageDialog dialog = new Windows.UI.Popups.MessageDialog(e.Value);
dialog.Commands.Add(new UICommand("Yes"));
dialog.Commands.Add(new UICommand("No"));

var result = await dialog.ShowAsync();

}

[/mw_shl_code]

wl****zf UID.685940
2015-10-02 回复

Quote***链接停止解析***
要这样做的

【1】嵌入到webview,告诉webview,"你如果想要alert,告诉我一声啊"


嗯,谢谢,刚刚也在msdn上找到了。我之前以为他把所有js都禁掉了

vbfool UID.352791
2015-10-02 回复

噗,这不是强行加一个alert进去么……

qiqiminmin UID.638527
2015-10-03 回复

本帖最后由 qiqiminmin 于 2015-10-3 04:48 编辑

Quote***链接停止解析***
噗,这不是强行加一个alert进去么……


( ̄▽ ̄)",看来你似乎webview相关的看得不太多,。。。。。。。。 居然把这个理解成强行
你过于用C语言思想来看待javascript. 这个不是我随便弄出来的,官方的估计也差不多。


wl****zf UID.685940
2015-10-03 回复

Quote***链接停止解析***
要这样做的

【1】嵌入到webview,告诉webview,"你如果想要alert,告诉我一声啊"


这个嵌入的方式好帅气啊,受教了,谢谢

qiqiminmin UID.638527
2015-10-03 回复

Quote***链接停止解析***
这个嵌入的方式好帅气啊,受教了,谢谢


因为如果你写webview的本地html5工程的话,就不需要修改html5工程里程序,又可以跨平台实现部分没有功能。

vbfool UID.352791
2015-10-03 回复

Quote***链接停止解析***
( ̄▽ ̄)",看来你似乎webview相关的看得不太多,。。。。。。。。 居然把这个理解成强行。
你过于用C语 ...


囧了个囧,你那句window.alert不就是重新定义了一次alert么?然后自己实现一下,通知到WebView上。
这不就是“因为不能用所以我们就强行造一个能用的”么?

这样做倒是问题也不大。

qiqiminmin UID.638527
2015-10-03 回复

Quotevbfool 发表于 2015-10-3 12:47
囧了个囧,你那句window.alert不就是重新定义了一次alert么?然后自己实现一下,通知到WebView上。
这不 ...


算是一个玩笑话。
定义是这么写 var window.alert = ...
赋值是这么写 window.alert =....
因为alert是javascript自带定义的,不需要重新定义,只需要赋值。

Js是对类型不敏感的,可以随时赋值

本站使用Golang构建,点击此处申请开源鄂ICP备18029942号-4联系站长投诉/举报