2014-03-25 18 views
3

我正在使用一個系統,我無法直接編輯每個頁面上的HTML。我想補充一個特定頁面的主體的頂部,但該對話框,在其中我進入HTML自動將腳本略高於如何在<body>下移動腳本參考

我嘗試這樣做:

<script> 
$('body').prepend('<script src="myscript.js"></script>'); 
</script> 

任何幫助將不勝感激, 謝謝!

+0

爲什麼不簡單地這樣做:'.getScript('myscript.js');'?文檔:https://api.jquery.com/jQuery.getScript/ –

+1

爲什麼您認爲您需要將腳本添加到身體標記之上? – Adam

+0

[這是更好](http://stackoverflow.com/a/8278513/1267304)比任何jQuery解決方案。一探究竟。 – DontVoteMeDown

回答

0

我不明白你爲什麼這樣做,但它有可能... :)

如果你必須插入在標籤體的開頭javascript代碼,你可以加載你的JavaScript像文件「jsonp ajax調用」,並在裏面調用'prepend'jquery函數。

例子:

<html> 
    <head> 
    <title>test</title> 
    </head> 
    <body> 
    <h1>Test</h1> 
    <p>Test</p> 
    <script type="text/javascript" src="https://code.jquery.com/ui/1.9.2/jquery-ui.min.js"></script> 
    <script type="text/javascript"> 
     $(document).ready(function() { 
     $.ajax({ 
      dataType: "jsonp", 
      url: "myscript.js" 
     }) 
     .done(function(d, response) { 
      console.log("JS LOADED"); 
     }); 
     }); 
    </script> 
    </body> 
</html> 

而在你的 「myscript.js」 文件是這樣的:

$("body").prepend("<script>" + 
        "var a = 1;" + 
        "console.log(a);" + 
        "/* AND ALL THE JS CODE TO INSERT " + 
        "AT THE BEGINING OF TAG BODY */</script>"); 

不要用分號忘記(;)在每月底的js線。