2016-09-25 7 views
0

こんにちは私は比較的新しく、一ヶ月前にコード化されたことはありませんが、HTML、CSS、およびJavaScriptのウェブサイトの構造と内部動作をゆっくり教えています。私はウェブサイト内の特定のスクリプトを修正しようとしています。このウェブサイトは、私の目標は、私は私の代わりに1-4の例については、変更された範囲を与えるために、ダイスロールを操作することができるように、それを作るかもしれない1-10ともおそらく私を与えるためにすることですHTMLウェブサイト内のjavascriptを変更することができません

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

です私が指定した番号。私はまた、サイトの一般的な美しさを可能な限り変更しないままにしたい。

最初に、この便利なコードをURLに入れます。 javascript:document.body.contentEditable = 'true'; document.designMode = 'on';空き0

私は体内のコンテンツを編集可能にすることができました。

私はシンプルで、ちょうどD4のダイス要素https://gyazo.com/adf563827f63edd37264882e90fd5f85を変更して、1-20の範囲の数値を与えたいと思っていました。

この要素のHTMLコードを

<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> 

である私はonclickの=「rolld4()」だから私は、ウェブサイトの頭の中を見て、<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() * 20) + 1)

にラインMath.floor((Math.random() * 4) + 1)上で変更された私は、変更されたコードを使用して新しいスクリプトを作成し、1-20から私に私の範囲を与えるために出力を変更する必要がありD4サイコロ要素の下に置か。私は少し成功を収めていましたが、実際には1から20のロール・レンジを模倣しました。しかし、これは私のために一度しか働いておらず、まったく同じプロセスを経てもそれを再現することはできませんでした。

また、私は<script language="JavaScript1.2"></script>スクリプトの中で1つの大きなコメントであることを見ました。これは私が混乱している理由は、コード内のjavascript関数がコメントに変換されていて、サイコロがクリックされて「巻き込まれた」ときにJavaScriptが引かれているからです。私はソースを見つけることができないようです。

私はjavascriptに関しては初心者です。ウェブサイトを設計するためにHTMLとCSSを掘り下げていましたので、一般的な形式の横にjavascriptに関する知識はほとんどありません。

答えて

0

ロードしたウェブサイト上のJavaScriptを変更(変更)または削除することはできません。ウェブブラウザが最初にjavascriptをコンパイルすると、ウェブサイトがロードされて実行準備が整うので、これは不可能です。 スクリプトタグを削除しても、そのコードはメモリのどこかに存在します。

しかし、WebコンソールやMozilla FirefoxやDeveloperツールのconsoleのScratchpadを使って、別のスクリプトタグでページの最後に追加しているように、Webページにjavascriptコードを追加することができますGoogle Chromeで

(これはウェブサイト上の既存のコードに依存していますが)あなたが望むことをすることができます。

+0

ええ、そういうことがあったかどうか心配でした。気にしなければ、私は新しいスクリプトを追加したが、うまくいきませんでした。とにかく私は古いもの、すなわち元のものに取って代わる新しいスクリプトを作ることができますか? – radicalhorse

+0

私はそうは思わない。古いコードで実行される新しいコードを添付することができます(同じレベルの優先順位で)。 – Imaginaroom

+0

もう一度お手伝いと説明をお寄せいただきありがとうございます。私は自分が何をしなければならないかを知っていると思います。 – radicalhorse

関連する問題