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>
遅延を使用せずに目的の効果を達成する方法はありますか?
あなたはそれが次のようになりますことを言っている: '
<スクリプトSRC =" https://ajax.googleapis.com/ajax/libs/ jquery/1.12.4/jquery.min.js "> #リボン\コンテキストタックス\ MyWork \ホーム\タスク\ MarkComplete-Large { ディスプレイ:なし } }); ' それはそれが悪い見える場合ので、私は謝罪、私はより良い任意の書式を設定させません – Spencer私はむしろJavascriptをよりあなたのボタンを処理するためにCSSを使用している何を意味。 上記のテキストを –
に変更します。このスクリプトをスクリプトエディタWebパーツに追加しても、ボタンは表示されません。コンソールログには、「要素」が存在しないことが示されています。ユーザーがリボンをクリックするまでボタンが表示されないため、要素が存在しません。これは、JavaScriptの最初の部分がシミュレートしようとしていたものでした。 – Spencer