假设我有一个HTML页面,它有自己的函数myFunction()
<!DOCTYPE html>
<html>
<body>
<p>Click the button to trigger a function that will output "Hello World" in a p element with id="demo".</p>
<button onclick="myFunction()">Click me</button>
<p id="demo"></p>
<script>
function myFunction() {
alert("stack overflow");
document.getElementById("demo").innerHTML = "Hello World";
}
</script>
</body>
</html>
我想像这样更改myFunction()
定义
function myFunction() {
//alert("stack overflow");
document.getElementById("demo").innerHTML = "Hello World";
}
使用bookmarklet。有没有办法暂时改变def? 我尝试使用Chrome控制台更改其def并保持成功,但我想使用bookmarklets更改它。所以请帮助我。
答案 0 :(得分:0)
由于它是全球性的,您可以在书签中执行此操作:
var oldFunction = myFunction;
myFunction = function() {
alert("Hello world!");
};
或者如果您将书签放在scping函数中(通常是个好主意),可能会将旧值存储在window
属性而不是本地var上(因此您可以从另一个bookmarklet访问它以恢复它)后):
window.oldFunction = myFunction;
myFunction = function() {
alert("Hello world!");
};
另一个书签可以重新设置:
myFunction = window.oldFunction; // or just = oldFunction if using a local var
直播示例:
function myFunction() {
alert("Original function");
}
document.getElementById("btn-override").addEventListener("click", function() {
window.oldFunction = myFunction;
myFunction = function() {
alert("New function");
};
}, false);
document.getElementById("btn-restore").addEventListener("click", function() {
myFunction = window.oldFunction;
}, false);
&#13;
<input type="button" id="btn-call" value="Click to call myFunction" onclick="myFunction()">
<input type="button" id="btn-override" value="Click to override it">
<input type="button" id="btn-restore" value="Click to restore it">
&#13;
答案 1 :(得分:0)
试试这个:
javascript: myFunction = function(){console.log('c')}