采用JSI解决不同类库间的冲突

众所周知, Scriptaculous所依赖的Prototype库与jQuery存在冲突。所以同时使用比较困难。
JSI针对每一个装载的脚本都有完全独立的执行上下文。所以这个问题能在JSI上彻底解决。
下面的例子,我们将在同一个页面上同时使用Scriptaculous和 jQuery 类库。证实一下JSI隔离冲突功能。
示例页面(hello-jquery-aculo.html):
< html >  
< head >  
< title > Hello jQuery And Scriptaculous </ title >  
<!--  加入引导脚本  -->  
< script  src ="../scripts/boot.js" ></ script >  
< script >  
// 导入jQuery  
$import(
" org.jquery.$ " ); 
// 导入Scriptaculous  
$import(
" us.aculo.script.Effect " );  
 
  
$(document).ready(
function (){ 
  
// 使用jQuery添加一段问候语 
  $(
" <p id='helloBox' style='background:#0F0;text-align:center;font-size:40px;cursor:pointer;'>Hello jQuery And Scriptaculous</p> " )       .appendTo('body');  
  $('#helloBox').ready(
function (){  
   
// 使用Scriptaculous高亮显示一下刚才添加的内容  
    new  Effect.Highlight('helloBox');  
  }).click(
function (){  
   
// 当用户单击该内容后使用jQuery实现渐出  
    $('#helloBox').fadeOut();  
  });  
 });  
</ script >   
</ head >     
< body >     
< p > 文档装载后,jQuery将在后面添加一段问候语;并使用Scriptaculous高亮显示(Highlight);在鼠标点击后在使用jQuery渐出(fadeOut)。 </ p >   
</ body >   
</ html >   

 

 

之前,我自己也曾经考虑和遇到过这个问题,虽然在正式的项目中我绝对不会同时使用这两个东西,但是毕竟目前有有了一个解决的方法,也为今后多了一种选择.

 原文出自:http://www.blogjava.net/jindw/archive/2007/06/26/126241.html

你可能感兴趣的:(采用JSI解决不同类库间的冲突)