为什么 Sharepoint 在执行 javascript 函数后会自行刷新?

Why Sharepoint refresh it self after a javascript function was executed?

我在内容编辑器中创建了一个按钮,它可以更改例如内容框的背景颜色。

按下按钮后,背景颜色从黑色变为白色。但是 Sharepoint 会自动刷新它并且没有保存更改。有人对此有想法吗?它也发生在 IE 和 Chrome 中。

此致,

安迪

<button onclick="changeCo()">Change Color</button> 
  <style>
    #contentBox {
    background-Color:black;
    }
    </style><script>
    function changeCo(){
        var elem = document.getElementById("contentBox");
        var theCSSprop = window.getComputedStyle(elem,null).getPropertyValue("background-color");
        if (theCSSprop == 'rgb(0, 0, 0)') {
        document.getElementById('contentBox').style.backgroundColor = 'white';
        }else{
        document.getElementById('contentBox').style.backgroundColor = 'black';
        }
    }
    </script>

只需将 type='button' 添加到您的按钮元素。这应该可以防止页面重新加载。

<button type='button' onclick="changeCo()">Change Color</button> 

但是 @Scott Marcus 建议的另一件事是,如果您想在页面 refresh/reload 之后保留更改,那么您必须将这些更改存储到 server/cookies/localStorage。