我有一个用于 Lync 的 CWE(对话窗口扩展)。当我的 CWE 被加载时,我希望在托管页面上调用 javascript。
public MainPage()
{
try
{
HtmlPage.RegisterScriptableObject("MainPage", this);
HtmlPage.Window.Invoke("callmeonPageLoad");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message + "|" + ex.InnerException);
}
}
callmeonPageLoad 看起来像这样
function callmeonPageLoad() {
if (typeof jQuery == 'undefined') {
alert("jQuery is not loaded")
} else {
alert("jQuery is loaded")
}
}
如果我在 Lync 之外运行此应用程序,则会加载 jQuery。在应用程序内部它没有。所以,我不能调用任何 jQuery 函数。这仅在我希望在页面加载时调用它(从 MainPage 调用)才有效。
如果我在 Silverlight 应用程序中实现一个按钮并使其调用相同的 javascript。jQuery 已经加载了这两种情况。
我的问题是如何在应用加载时调用包含 jquery 的 javascript。
做了更多调查,发现即使这样的页面(设置为 CWE)也不会加载 jQuery
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>jQuery</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
</head>
<body>
<h1>jQuery</h1>
<div id="result"></div>
<script type="text/javascript">
alert(typeof jQuery);
</script>
</body>
</html>