我在 windows phone 8 中的 WebBrowser 控件遇到了一个不错的问题。我已经注册了一个自定义 uriparser,它允许通过它发送命令,window.location.href = "myprotocoll://processCommand(17, 'jscriptcallback', '{\"data0\":\"hello\"}')"
但是它工作得很好,除非我开始添加双引号,就像在我的示例中一样。({"data0":"hello"})
如果我想发送一个 json 字符串,什么是必要的。如果您尝试通过 window.location.href 导航到该 url,则在我的应用程序中没有错误输出没有异常,什么都不会发生。我认为这是一种非常奇怪的行为。
我的 UriParser:
public class MyUriParser : UriParser
{
public MyUriParser()
{
}
protected override string GetComponents(Uri uri, UriComponents components, UriFormat format)
{
return "";
}
protected override bool IsWellFormedOriginalString(Uri uri)
{
return true;
}
protected override void InitializeAndValidate(Uri uri, out UriFormatException parsingError)
{
parsingError = null;
}
protected override bool IsBaseOf(Uri baseUri, Uri relativeUri)
{
return false;
}
protected override string Resolve(Uri baseUri, Uri relativeUri, out UriFormatException parsingError)
{
parsingError = null;
return "";
}
}
通过以下方式注册:
if (!UriParser.IsKnownScheme(SCHEMENAME_0))
UriParser.Register(new MyUriParser(), SCHEMENAME_0, 80);