sp.ui.notify通知色の変更
-
16-10-2019 - |
質問
JavaScriptのSharePoint 2010クライアントオブジェクトモデルによって表示される通知ポップアップの色を変更する方法を知っている人はいますか?以下は常に私に緑のポップアップを与えてくれます:
SP.UI.Notify.addNotification('Operation Complete', true);
さまざまなブログで見たことがあるので、他の色を手に入れることができると確信しています。どうすればいいのかわからない。
解決
sp.ui.statusとは異なり、通知で色を設定する直接的な方法はありませんが、それは単純なhtml文字列であるため、追加しています 君 通知エリアに何が入るかを決定します。
私はそれをテストしていませんが、次の構文は精力的に合法でなければなりません:
SP.UI.Notify.addNotification('<span style=\'background-color:red\'>Operation Complete</span>', true);
編集:Notifyクラスをデバッグし、Weather TooltipとOnClickHandlerが設定されたものに応じてスパンを構築するのを見ました(cor.debug.jsの_addnotificationinternalメソッドをチェックしてください)。使用されるクラスは、s4-noti、s4-noti-noti、s4-noti-in1から-in3すべてCorev4.css(_layouts styles themable corev4.css)で定義されています。ここでは、多くの色が実際に選択されたテーマによって制御されていることもわかります。
CSSルールを使用して、ランタイムを編集することで遊んだ。
function notifyMe()
{
var sheet = document.styleSheets[6];
var rules = sheet.cssRules ? sheet.cssRyles : sheet.rules; //cross browser rules
for (i=0;i<rules.length;i++)
{
if (rules[i].selectorText.toLowerCase()==".s4-noti")
rules[i].style.backgroundColor = 'red';
if (rules[i].selectorText.toLowerCase()==".s4-noti-noti")
rules[i].style.backgroundColor = 'green';
if (rules[i].selectorText.toLowerCase()==".s4-noti-in1")
rules[i].style.backgroundColor = 'blue';
if (rules[i].selectorText.toLowerCase()==".s4-noti-in2")
rules[i].style.backgroundColor = 'purple';
if (rules[i].selectorText.toLowerCase()==".s4-noti-in3")
rules[i].style.backgroundColor = 'magenta';
}
var nid = SP.UI.Notify.addNotification("test", true);
}
これは完全にスタイルを整えませんでしたが、必要に応じてそれらを編集する方法についてのアイデアを提供するはずです。
他のヒント
色がどのように変化するかなどを知るには、SharePoint通知ステータスバーについて詳しく説明してください。この記事をお読みください。 http://www.anmolhans-sharepointconsultant.com/2011/06/sharepoint-status-bar-and-notification.html