最近使用网易的有道笔记的时候,发现它是通过在浏览器的收藏栏里面添加了一个链接,在浏览网页的时候,选择某段文字然后点击这个链接,就会把内容搜藏到有道笔记里面。这个链接的内容是一个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);
}
}
)();个人觉得这个很神奇,想知道这是什么原理,工作流程是什么?
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);
}
}
)();个人觉得这个很神奇,想知道这是什么原理,工作流程是什么?
<script src="http://note.youdao.com/yws/YNoteClipper.js?xxxxx"></script>
</head>
xxxx是时间戳,防止浏览器缓存
直接下载看 http://note.youdao.com/yws/YNoteClipper.js 的源代码即可
就是动态创建一个 script 并添加到 head 中这种办法很有用的:
1 可用于跨域访问的方案
2 是 JSONP 技术的基础
3 用于延迟加载和按需加载
……能兼容所有浏览器