簡體   English   中英

SharePoint 2010中的Javascript window.onload問題

[英]Javascript window.onload issue in SharePoint 2010

用戶首次打開SharePoint網站時,我將彈出“使用條款”模式對話框。 我正在使用SP.UI.ModalDialog.showModalDialog()函數。 它是在SharePoint 內容編輯器 Web部件中創建的。

當我第一次打開頁面時,“模態”對話框可以正常工作。 但是,如果我再次打開該頁面,它將不起作用。 誰能幫助我解決這個問題? 似乎是一個緩存問題?

這是我的JavaScript:

<script type="text/javascript">
    function codeAddress() {
        alert('ok');
        var options = {

            url: 'http://www.google.com',
            Title: "Survey",

            height: 500

        };
        SP.UI.ModalDialog.showModalDialog(options);
    }
    window.onload = codeAddress;
</script> 

代替window.onload = codeAddress ,使用:

_spBodyOnLoadFunctionNames.push("codeAddress");

SharePoint將在窗口加載時調用您的函數。 _spBodyOnLoadFunctionNames本身是一個SharePoint對象。

我遇到了這個問題,並且碰到了這個鏈接 ,它解釋了原因;

在開發使用JavaScript的Web部件或其他控件時,通常需要在網頁的Body OnLoad事件上調用某些函數。 這樣做的問題是,在SharePoint中,Body元素在母版頁中而不在控件中,因此這樣做很棘手。

幸運的是,SharePoint團隊使用名為_spBodyOnLoadFunctionNames的特殊數組,為開發人員提供了一種輕松實現此目的的方法 唯一要做的就是將函數的名稱推送到此數組,它將在窗口的OnLoad事件中被調用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM