[英]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.