2010-09-03 54 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

相关问题