该 app
用作设置 协议处理程序 到您的应用程序的关键。
从链接的文档中获取以下内容:
协议处理程序是一种应用程序,它知道如何处理特定类型的链接:例如,邮件客户端是 "mailto:" 链接的协议处理程序。
photino.NET 示例 program.cs
具有以下语句。
var window = new PhotinoWindow()
.SetTitle(windowTitle)
.RegisterCustomSchemeHandler(
"app", (object sender, string scheme, string url, out string contentType) =>
{
contentType = "text/javascript";
return new MemoryStream(Encoding.UTF8.GetBytes(@"
(() =>{
window.setTimeout(() => {
alert(` Dynamically inserted JavaScript.`);
}, 1000);
})();
"));
})
RegisterCustomSchemeHandler
是使用 app
键注册协议处理程序的方法。
它设置了一个回调函数,当正在加载的页面中发现给定的 app
键时,该函数将被调用。
RegisterCustomSchemeHandler 的源代码中提到:
注册用户定义的自定义协议(不是 'http'、'https' 和 'file'),并设置处理程序方法以在本机浏览器控件遇到它们时接收回调。
该示例的 index.html 具有以下 script
标签。
<script src="app://dynamic.js"></script>
这会触发回调函数,该函数返回您想要为给定的script
标记执行的客户端脚本。
对于上面的示例,在(object sender, string scheme, string url, out string contentType)
中的url
参数将包含app://dynamic.js
。
提供的示例忽略了传入的值,并只返回一个常量/硬编码的脚本,但您可能决定返回与给定URL匹配的文件内容。
script
标记中app://
之后的部分可以是您选择的任何string
值,这可能对您的应用程序有意义。