我有一个经典的ASP应用程序,我一直在尝试模块化。目前,几乎所有页面都分为两页:
外部页面使用Dreamweaver模板,因此更新布局和复制更改很容易。内页由我管理。现在问题在于:
我必须在一个页面上添加一个灯箱,我选择了需要Prototype的Lightbox 2。我最终在每个页面上都添加了Prototype,假设我迟早会升级所有页面,表单,ajax请求和其他javascript来使用Prototype。我现在已经添加了另外两个插件--Modalbox和Protofade;每个都有一对.JS和.CSS文件。由于我将在特定的页面集上使用这三个插件,我想知道我是否可以动态加载所需的CSS和JS文件。我不想访问文档头并在那里添加包含文件(即通过使用大约<head>
和<script>
标记膨胀<link>
标记,我将不得不这样做从DIV里面,所有的ASP代码都应该去。
答案 0 :(得分:1)
您可以通过向文档添加script
元素来动态添加脚本;来自Unofficial Prototype&amp;的this page的详细信息和示例代码script.aculo.us wiki。 E.g:
var element;
var script;
element = /* ...grab the element you want to add to; I'd use $$('head')[0] */;
if (element) {
script = new Element('script', { type: 'text/javascript', src: 'dynamic.js' });
element.appendChild(script);
}
添加样式表链接应该基本相同。虽然该页面已添加到head
,但您已经说过您不想这样做(虽然我不清楚为什么不这样做,因为您在用户的计算机上动态执行此操作),但是无论你在哪里添加它们,它都应该仍然有用。