无法在HTML网站中修改javascript

时间:2016-09-25 19:45:39

标签: javascript jquery html css edit

你好,我是一个相对较新的人,并且在一个月之前从未编码过,但我正在慢慢地通过html,css和javascript教自己一个网站的结构和内部工作原理。我正在尝试修改网站中的特定脚本。这个网站是

https://www.wizards.com/dnd/dice/dice.htm

我的目标是让它能够操纵掷骰子给我一个改变的范围,例如代替1-4,可能是1-10,也可能给我一个我指定的数字。我也希望尽可能保持网站的整体美感。

首先,我将这个方便的代码放在URL中 的javascript:document.body.contentEditable ='真&#39 ;; document.designMode ='上&#39 ;; void 0

并且它允许我使身体内的内容可编辑。

我想简单,只需更改D4骰子元素https://gyazo.com/adf563827f63edd37264882e90fd5f85,这样就可以给出1-20范围内的数字。

此元素的HTML代码是

{
  "name" : "Some User",
  "id" : "56fea66c",
  "permGroupIds" : [ "group1", "group2" ],
  "actions" : [ "action1", "action3", "action3" ]
}

我注意到了onclick =&#34; rolld4()&#34;所以我查看了网站的负责人并注意到<a href="javascript:void(null)" onclick="rolld4()"><img src="https://www.wizards.com/dnd/dice/images/d4a.jpg" alt="d4" name="d4" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('document.d4','document.d4','images/d4b.jpg')" width="38" border="0" height="37"></a> 这些代码行。{/ p>

<script language="JavaScript1.2"></script>

我在第function rolld4() { d4rolls = parseInt(document.form1.d4n.value); d4mod = parseInt(document.form1.d4mo.value); dtotal = ""; d4res = 0; rtotal = document.form1.runningtotal.value; for (i=0; i<2; i++) { if (document.form1.d4m[i].checked) { d4pm = i } } if (d4pm == 0) { dtotal = dtotal + "Roll(" + d4rolls.toString() + "d4" + ")+" + d4mod.toString() + ":\n" } if (d4pm == 1) { dtotal = dtotal + "Roll(" + d4rolls.toString() + "d4" + ")-" + d4mod.toString() + ":\n" } for (r=0; r<d4rolls; r++) { var d4 = Math.floor((Math.random() * 4) + 1); d4res = d4res + d4; dtotal = dtotal + d4.toString() + "," } if (d4pm == 0) { d4res = d4res + d4mod; dtotal = dtotal + "+" + d4mod + "\n" + "Total:" + d4res } if (d4pm == 1) { d4res = d4res - d4mod; if (d4res <= minimumvalue) { d4res = minimumvalue; } dtotal = dtotal + "-" + d4mod + "\n" + "Total:" + d4res } document.form1.d4r.value = d4res; rtotal = dtotal + "\n\n" + rtotal; document.form1.runningtotal.value = rtotal; } 行以上更改为Math.floor((Math.random() * 4) + 1)

然后我用修改后的代码创建了一个新脚本并将其放在D4骰子元素下面,该元素应该改变输出以给我1-20的范围。我能够取得一些成功,事实上模仿了1-20的滚动范围。然而,这只对我有用一次,即使经过完全相同的过程,我也无法复制它。

我还在Math.floor((Math.random() * 20) + 1)脚本中看到它是一个大评论。这让我感到困惑,因为如果代码中的javascript函数转向注释,那么当点击骰子并且&#34;滚动&#34;时,javascript被拉出来。我似乎找不到来源。

关于javascript,我是一个新手,我大部分时间都在研究用于设计网站的HTML和CSS,所以除了一般格式之外我几乎没有javascript的知识。

1 个答案:

答案 0 :(得分:0)

您无法更改(更改)或删除已加载网站上的任何JavaScript。当网站加载并准备执行时,网页浏览器首先编译javascript是不可能的。 即使您删除了脚本标记,该代码也存在于内存中的某个位置。

但是,您可以通过Web控制台或Mozilla Firefox中的Scratchpad或开发人员工具&gt;将一些javascript代码添加到网页(将其视为将其自身添加到页面末尾的单独脚本标记中)。谷歌Chrome中的控制台。

有了这个和一些聪明的想法(取决于网站上的现有代码),你可以做你想要的东西。