浏览 3340 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-09-11
new Ajax.Updater( {success: divname}, uri, { method: 'get', parameters: pars, evalScripts: true, onFailure: reportError }) 这里正确的设置了evalScript:true表示加载的内容不会过滤掉<script...等。但是不表示能加载 <script language="javascript" type="text/javascript" src="path for js file"></script> 所对应的js资源,因为prototype在执行 <script>alert("123")</script)中的脚本的时候使用的是eval.为此上面脚本的执行结果为eval('alert("123")')。那么怎么来解决关于存在于独立的文件中的js脚本问题,则可以参看如下的实现: /** *prototype-exp.js *Used for load the css or js code in div area.. *for the prototype not support the js code in dep.. file */ var View_load; (function(){ if (View_load == null) View_load = new Object(); var UNDEFINED; View_load.loadjs = function (scriptid,jsurl){ var scriptTag = document.getElementById(scriptid); if(scriptTag) document.body.removeChild(scriptTag); script = document.createElement('script'); script.setAttribute("src",jsurl); script.type = 'text/javascript'; script.id = scriptid; document.body.appendChild(script); } View_load.loadcss = function(cssid,cssurl){ var scriptTag = document.getElementById(cssid); if(scriptTag) document.body.removeChild(scriptTag); css_ = document.createElement('link'); css_.rel="stylesheet"; css_.setAttribute("href",cssurl); css_.type = 'text/css'; css_.id = cssid; document.body.appendChild(css_); } })(); 这里主要解决了引入也面中不能正常加载js和css文件的问题.可以使用如下方式调用。 <script language="javascript" type="text/javascript"> View_load.loadjs("","/js/sayhello.js"); View_load.loadcss("","css/cssa.css"); </script> 需要注意的一点是prototype-exp.js需要放置到框架页面中来。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |