2010-09-03 52 views
4

只有form動作/?cms_mode=edit如何在這種情況下在<head>中添加JavaScript文件?

<body id="home"> 
    <form method="post" action="/?cms_mode=edit" id="main"> 
    </form> 
</body> 

然後JS文件edit.js應該添加到頭部,否則不是。

<head> 
<script type="text/javascript" src="jquery.js"></script> 
<script type="text/javascript" src="main.js"></script> 
<script type="text/javascript" src="edit.js"></script> 
</head> 

是否有可能通過jquery/javascript?

而且edit.js應增加flie畢竟其他js文件

+1

你爲什麼不在服務器端處理這個問題? – 2010-09-03 12:04:40

+0

,因爲我沒有這些權利。我需要這個在多站點CMS上的特定站點 – 2010-09-03 12:05:19

回答

4

如果你必須這樣做,在JavaScript中的客戶端,你可能想嘗試以下操作:

var newScript; 

if (document.getElementById('main').action.indexOf('?cms_mode=edit') >= 0) { 
    newScript = document.createElement('script'); 
    newScript.type = 'text/javascript'; 
    newScript.src = 'edit.js'; 
    document.getElementsByTagName("head")[0].appendChild(newScript); 
} 
+1

是否100%肯定瀏覽器會選擇DOM更改並加載腳本? – 2010-09-03 12:13:17

+1

@Mikael:是的。動態腳本插入是一種常用的模式。它也用於[JSONP](http://en.wikipedia.org/wiki/JSON#JSONP)。 – 2010-09-03 12:14:24

+1

@Daniel:我之前插入了腳本,然後調用它們,但不知道加載也起作用。酷:D – Glen 2010-09-03 12:17:17