你好,我是一个相对较新的人,并且在一个月之前从未编码过,但我正在慢慢地通过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的知识。
答案 0 :(得分:0)
您无法更改(更改)或删除已加载网站上的任何JavaScript。当网站加载并准备执行时,网页浏览器首先编译javascript是不可能的。 即使您删除了脚本标记,该代码也存在于内存中的某个位置。
但是,您可以通过Web控制台或Mozilla Firefox中的Scratchpad或开发人员工具&gt;将一些javascript代码添加到网页(将其视为将其自身添加到页面末尾的单独脚本标记中)。谷歌Chrome中的控制台。
有了这个和一些聪明的想法(取决于网站上的现有代码),你可以做你想要的东西。