从MainPage在主机页面上调用javascript

时间:2015-01-14 09:58:34

标签: javascript jquery lync lync-client-sdk

我有一个用于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>

1 个答案:

答案 0 :(得分:0)

问题与jQuery位置和版本有关。它适用于

<script type="text/javascript" src="Scripts/jquery-1.11.2.min.js"></script>

但不

<script type="text/javascript" src="Scripts/jquery-2.1.3.min.js"></script>