なしでほぼそのコードを書くだけeval
で、それを必要とするものは何もありません:
var funVal = function() {
alert("a");
};
var Button1 = document.getElementById("BtnSave");
Button1.onclick = funVal;
コメントで、コードはサーバー側で動的に生成されると述べました。これはまったく問題ではありません。サーバーに、JavaScript コードが期待される場所 (<script>...</script>
タグ内、または を介してロードする応答の完全なコンテンツとして) のコードを出力させるだけです<script src="..."></script>
。どちらの場合でも重要なのは、ブラウザに送信するコードが有効であることを確認することです。
例 1 : 動的に生成されたインラインscript
タグ (サーバー側のテクノロジが何であるかを説明していないため、かなり一般的な PHP を使用しました):
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>Inline Dynamically Generated Script</title>
</head>
<body>
<p>Each time you load this page, the script in the inline
<code>script</code> tag at the end is different.</p>
<button id="theButton">Click Me</button>
<script>
document.getElementById("theButton").onclick = function() {
alert("<?php echo("Hi there, this page's magic number is " . rand(0, 10000)); ?>");
};
</script>
</body>
</html>
実際の例
例 2 : 別のファイルに動的に生成されたスクリプト:
HTML:
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>Dynamically Generated Script from File</title>
</head>
<body>
<p>Each time you load this page, the script in the file
loaded by the <code>script</code> tag at the end
is different.</p>
<button id="theButton">Click Me</button>
<script src="dynamic-script.php"></script>
</body>
</html>
JavaScript ファイル ( dynamic-script.php
):
<?php header('Content-type: application/javascript'); ?>
document.getElementById("theButton").onclick = function() {
alert("<?php echo("Hi there, this page's magic number is " . rand(0, 10000)); ?>");
};
実際の例