2017-06-16 11 views
-2

以下の要素を作成し、HTMLファイルのheadセクションに追加する必要があります。JavaScriptのスクリプトブロックにJS関数を追加する方法

<script type="text/javascript"> 
 
\t //Var declarations - ABCCD 
 
     (function(d) { 
 
      //FUNCTION CODES 
 
     }(document)); 
 
    </script>

すべてが行われますが、私はただ、上記の一部の問題を取得しています。私はさまざまなオプションを試しましたが、言及されているように関数を追加することはできません。

var headtg = document.getElementsByTagName('head')[0]; 
 
var divElm = document.createElement('div'); 
 
var scpt = document.createElement('script'); 
 
scpt.type = 'text/javascript'; 
 

 
var A = "100"; 
 

 
    var myfunc1 = function(d) { 
 
      //LINES OF CODE 
 
     }(document); 
 

 
divElm.className = "ABC_" + A; 
 
divElm.appendChild(scpt); 
 
headtg.appendChild(divElm); 
 

 
//Var declaration part 
 
var decvar = 'var A = 10;' 
 
scpt.appendChild(document.createTextNode(decvar)); 
 
    
 
scpt.innerHTML = myfunc1;

しかし機能は、スクリプトブロック内で上がってくると未定義を考え出すされていません。

私はあなたが聞きしたいのかわからないんだけど、私はあなたの即時関数が文法的に間違っていると思う

+0

こんにちは@CBroe、はい私は以前のものが保留になっているように別の質問を作成しました。理由はわかりません – Aniket

+2

なぜそれが保留になったのかは明らかです。 *具体的な問題を明確にしたり、詳細を追加して必要なものを正確に強調してください。現在書かれているとおり、あなたが求めていることを正確に伝えるのは難しいです。この質問を明確にする方法については、How to Askページを参照してください。 この質問をヘルプセンターのルールに合わせて書き換えることができる場合は、**質問**を編集してください。注意しないと、[質問禁止](https://stackoverflow.com/help/)がうまくいくかもしれません。 – Liam

+0

私はすでに質問を更新しましたが、それでもまだ保留中です。 – Aniket

答えて

0

のように書かれて追加する方法の例です。私が時折使用するhtmlページのトップにjqueryスクリプト。 jqueryスクリプトを注入するのではなく、JavaScriptを注入します。

var jq = document.createElement('script'); 
jq.src = 
"https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"; 
document.getElementsByTagName('head')[0].appendChild(jq); 
setTimeout(function(){ 
    console.log("Hey jquery"); 
}, 1000); 
1

を助けてください、それはここでは、この

(function(param){ 
    //Do something 
})(passed_param); 
+0

はい、それは正しいです。Anubhav ..しかし私の問題は、この関数をスクリプト内に追加する必要があることです私がコード内に作成しているブロック。 – Aniket

+0

それでは問題は何ですか? –

0

限り、私はあなたのコードから理解できるように、あなたがscriptタグに追加しようとしているinnerHTML文字列が、関数オブジェクトではありません。これを ""の間に変更する必要があります。

編集: また、tag.innerHTML = "something"を設定すると、すべてのタグの内容が置き換えられます。あなたの場合は、代わりにそれに追加したいと思うかもしれませんので、tag.innerHTML += "something"を実行してください。

+0

右のコード行をすべて追加するには、innerHTML +コードの5/6行を記述する必要があります。とにかくこの機能をスクリプトブロックに直接追加できるかどうか教えてください。 – Aniket

関連する問題