2016-08-16 3 views
0

Project Web Appのタスクリボンから「タスクの完了をマークする」ボタンを削除して、ユーザーがクリックしないようにします。 JavaScriptがページを読み込むのを待たなければならないので、200ミリ秒の遅延の後にボタンを隠すカスタムJavaScript Webパーツの追加に成功しました。しかしながら、これは悪いユーザ経験につながるだけでなく、ページが200ミリ秒で完全にロードされることを保証しないので、ユーザがボタンを見て、それと対話する可能性が残る。ここにJavaScriptがあります。Project Web Appのタスクリボンの「完了」ボタンを削除します

<html> 
<body> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> 
<script> 
$(document).ready(function(){ 
    $("li.ms-cui-tt a:eq(1)").trigger("click"); 

}); 

window.onload = function(){ 
setTimeout(function(){ 
    document.getElementById('Ribbon.ContextualTabs.MyWork.Home.Tasks.MarkComplete-Large').style.display = 'none'; 
}, 200); 
}; 

</script> 
</body> 
</html> 

遅延を使用せずに目的の効果を達成する方法はありますか?

答えて

0

同じ結果にCSSを使用できますが、クラス名のドットを\で置き換える必要があることに注意してください。

それは(ページ上ScritpエディタWebパーツでは)ビットのようになります。{ <スタイルタイプ=「テキスト/ cssの」> #Ribbon.ContextualTabs.MyWork.Home.Tasks.MarkComplete、大 表示:なし } < /スタイル>

+0

あなたはそれが次のようになりますことを言っている: ' <スクリプトSRC =" https://ajax.googleapis.com/ajax/libs/ jquery/1.12.4/jquery.min.js "> #リボン\コンテキストタックス\ MyWork \ホーム\タスク\ MarkComplete-Large { ディスプレイ:なし } }); ' それはそれが悪い見える場合ので、私は謝罪、私はより良い任意の書式を設定させません – Spencer

+0

私はむしろJavascriptをよりあなたのボタンを処理するためにCSSを使用している何を意味。 上記のテキストを –

+0

に変更します。このスクリプトをスクリプトエディタWebパーツに追加しても、ボタンは表示されません。コンソールログには、「要素」が存在しないことが示されています。ユーザーがリボンをクリックするまでボタンが表示されないため、要素が存在しません。これは、JavaScriptの最初の部分がシミュレートしようとしていたものでした。 – Spencer

関連する問題