在控制台中运行javascript代码与作为书签1运行javascript代码会产生不同的结果

时间:2017-11-17 22:43:56

标签: javascript console bookmarklet

我很高兴看到我能够解决my previous problem (需要一些急需的帮助)。但是在我运行新代码后不久:

javascript:var tt=document.createElement('div');
tt.setAttribute('id', 'CMenu');
var g=document.getElementById('adCost');
var RAW='<button id ="save1Button" onclick=\"save1()\">SAVE SLOT 1</button>' +
'<button id ="load1Button" onclick="load1()">LOAD SLOT 1</button>' +
'<button id ="save2Button" onclick="save2()">SAVE SLOT 2</button>' +
'<button id ="load2Button" onclick="load2()">LOAD SLOT 2</button>' +
'<button id ="resetButton" onclick="reset()">RESET ALL PROGRESS</button>' +
'<button id ="freeClipsButton" onclick="cheatClips()">Free Clips</button>' +
'<button id ="freeMoneyButton" onclick="cheatMoney()">Free Money</button>' +
'<button id ="freeTrustButton" onclick="cheatTrust()">Free Trust</button>' +
'<button id ="freeOpsButton" onclick="cheatOps()">Free Ops</button>' +
'<button id ="freeCreatButton" onclick="cheatCreat()">Free Creativity</button>' +
'<button id ="freeYomiButton" onclick="cheatYomi()">Free Yomi</button>' +
'<button id ="resetPrestige" onclick="resetPrestige()">Reset Prestige</button>' +
'<button id ="destroyAllHumansButton" onclick="cheatHypno()">Destroy all Humans</button>' +
'<button id ="freePrestigeU" onclick="cheatPrestigeU()">Free Prestige U</button>' +
'<button id ="freePrestigeS" onclick="cheatPrestigeS()">Free Prestige S</button>' +
'<button id ="debugBattleNumbers" onclick="setB()">Set Battle Number 1 to 7</button>' +
'<button id ="availMatterZero" onclick="zeroMatter()">Set Avail Matter to 0</button>';
g.appendChild(tt);
document.getElementById('CMenu').innerHTML= RAW

作为书签而非控制台(当然没有javascript),它给出了不同的结果。在逐行测试时,控制台按预期运行它,并且一次完成。然而,书签用按钮替换了页面上的所有内容!

1 个答案:

答案 0 :(得分:0)

false添加到书签的末尾。显然,浏览器将点击书签作为导航,因此当它返回时它只显示新页面。但是,如果内联Javascript返回false,则会禁用单击链接的默认操作。

<a href="javascript:var tt=document.createElement('div');
tt.setAttribute('id', 'CMenu');
var g=document.getElementById('adCost');
var RAW='<button id =&quot;save1Button&quot; onclick=&quot;save1()&quot;>SAVE SLOT 1</button>' +
'<button id =&quot;load1Button&quot; onclick=&quot;load1()&quot;>LOAD SLOT 1</button>' +
'<button id =&quot;save2Button&quot; onclick=&quot;save2()&quot;>SAVE SLOT 2</button>' +
'<button id =&quot;load2Button&quot; onclick=&quot;load2()&quot;>LOAD SLOT 2</button>' +
'<button id =&quot;resetButton&quot; onclick=&quot;reset()&quot;>RESET ALL PROGRESS</button>' +
'<button id =&quot;freeClipsButton&quot; onclick=&quot;cheatClips()&quot;>Free Clips</button>' +
'<button id =&quot;freeMoneyButton&quot; onclick=&quot;cheatMoney()&quot;>Free Money</button>' +
'<button id =&quot;freeTrustButton&quot; onclick=&quot;cheatTrust()&quot;>Free Trust</button>' +
'<button id =&quot;freeOpsButton&quot; onclick=&quot;cheatOps()&quot;>Free Ops</button>' +
'<button id =&quot;freeCreatButton&quot; onclick=&quot;cheatCreat()&quot;>Free Creativity</button>' +
'<button id =&quot;freeYomiButton&quot; onclick=&quot;cheatYomi()&quot;>Free Yomi</button>' +
'<button id =&quot;resetPrestige&quot; onclick=&quot;resetPrestige()&quot;>Reset Prestige</button>' +
'<button id =&quot;destroyAllHumansButton&quot; onclick=&quot;cheatHypno()&quot;>Destroy all Humans</button>' +
'<button id =&quot;freePrestigeU&quot; onclick=&quot;cheatPrestigeU()&quot;>Free Prestige U</button>' +
'<button id =&quot;freePrestigeS&quot; onclick=&quot;cheatPrestigeS()&quot;>Free Prestige S</button>' +
'<button id =&quot;debugBattleNumbers&quot; onclick=&quot;setB()&quot;>Set Battle Number 1 to 7</button>' +
'<button id =&quot;availMatterZero&quot; onclick=&quot;zeroMatter()&quot;>Set Avail Matter to 0</button>';
g.appendChild(tt);
document.getElementById('CMenu').innerHTML= RAW;
false;">Click</a>
<div>This is some text at the beginning.</div>
<div id="adCost"></div>
<div>This is text at the end</div>