最近使用网易的有道笔记的时候,发现它是通过在浏览器的收藏栏里面添加了一个链接,在浏览网页的时候,选择某段文字然后点击这个链接,就会把内容搜藏到有道笔记里面。这个链接的内容是一个js,内容如下:javascript:(
function(){
CLIP_HOST='http://note.youdao.com/yws';
try{
var%20x=document.createElement('SCRIPT');
x.type='text/javascript';
x.src=CLIP_HOST+'/YNoteClipper.js?'+(new%20Date().getTime()/100000);
x.charset='utf-8';
document.getElementsByTagName('head')[0].appendChild(x);
}catch(e){
alert(e);
}
}
)();个人觉得这个很神奇,想知道这是什么原理,工作流程是什么?

解决方案 »

  1.   

    在地址栏执行该js脚本,效果相当于在页面中直接加入:<head>
       <script src="http://note.youdao.com/yws/YNoteClipper.js?xxxxx"></script>
    </head>
    xxxx是时间戳,防止浏览器缓存
    直接下载看 http://note.youdao.com/yws/YNoteClipper.js 的源代码即可 
      

  2.   

    嗯,这个很好理解
    就是动态创建一个 script 并添加到 head 中这种办法很有用的:
    1 可用于跨域访问的方案
    2 是 JSONP 技术的基础
    3 用于延迟加载和按需加载
    ……能兼容所有浏览器
      

  3.   

    恩,谢谢您的解释,动态创建一个script并添加到head中这个我可以看js代码理解,后面您所说的3种用法因为我没用过,可能理解不了。