2013-10-28 55 views
3

我有一個腳本附加到CEWP,該腳本只在編輯模式下執行,並且在保存頁面時不執行任何操作。僅在編輯模式下執行的腳本 - Sharepoint頁面

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> 
<script type="text/javascript">   
function openDialogBox(Url) 

{  
    var ModalDialogOptions = { url:Url, width: 600, height: 500, showClose: true, allowMaximize: true};  
    SP.SOD.execute('sp.ui.dialog.js', 'SP.UI.ModalDialog.showModalDialog', ModalDialogOptions); 
} 

(function($){  
    $('.ms-acal-month').ready(function() { 

setTimeout(function() { 

$('a[href*="DispForm.aspx"]').each(function() { 

$(this).attr('onclick', 'openDialogBox("' + $(this).attr('href') + '")'); 

//$(this).attr('onclick', ' '); 

//alert($(this).attr('href')); 
}); 

$('a[href*="DispForm.aspx"]').each(function() { 

$(this).attr('href','javascript:openDialogBox("' + $(this).attr('href') + '")'); 

}); 

}, 3000); 

}); 
})(jQuery);  
</script> 

如果是相關的,這是我一個努力實現與當時的腳本:

我在SharePoint在線2013年我有在日曆視圖中顯示事件日曆的形式。如果用戶想要編輯日曆上顯示的已添加事件,我遇到了一些問題。 - 顯示事件的單元顯示事件的標題,並且它是超鏈接的。如果用戶雙擊單元格(在一個空白空間中),他會根據需要將它轉移到默認顯示頁面。但是,如果他碰巧點擊了超鏈接標題,默認顯示頁面沒有打開,但實際上整個項目

我想要默認顯示窗體始終打開的原因是因爲我有一個自定義腳本有哪些隱藏/顯示領域

提前 Ijlal

+0

如果您的腳本只在編輯頁面時運行,最可能的原因是您的CEWP隱藏。驗證此方法的一種方法是在不編輯頁面並搜索代碼時查看頁面的源代碼。是這樣嗎?如果是這樣,而不是隱藏你的CEWP將其標題和邊界設置爲none,並且不要隱藏它。 –

+0

Thanskfor反饋Aron ..我剛剛檢查了我的CEWP,並且隱藏選項被默認選中,並變灰,我不能改變它。是否有其他方式在頁面上插入腳本? – ijlal

+0

您可能可以使用SharePoint Designer更改可視性,可以使用Web部件功能區或直接使用aspx代碼。你也可以嘗試製作一個新頁面並添加事件日曆和CEWP。 –

回答

5

非常感謝添加type="text/javascript"你的第一個腳本標記引用庫,它應該工作。它爲我做了。

事實證明,type="text/javascript"屬性是非常重要的。我已經把它從<script>標籤中刪除了,它引用了我正在使用的javascript庫(Angular在我的例子中,在你的例子中是jQuery)並且經歷了完全相同的行爲 - 當頁面處於編輯模式時角代碼正在執行,但甚至不是在頁面處於查看模式時調用。

我意識到這是一個較舊的帖子,但我剛剛有一個類似的問題,並發現我的問題的解決方案,我想我會分享。希望它有助於未來的Google搜索者。

+0

這也解決了我的問題....雖然很奇怪:) :) –

+0

也解決了我的問題。花了3個小時。謝謝 – mohsenof

相關問題