Javascript Bookmarklet调试

Javascript Bookmarklet调试,javascript,iframe,bookmarklet,Javascript,Iframe,Bookmarklet,最近,我想为我的父母开发一个书签,帮助他们阅读一些英文网站,想法是当他们在网站上阅读时,点击我用javascript创建的书签,这样他们通过双击或鼠标选择的每个单词或语句都会被捕获并发送到dict网站以查找翻译,我完成了一个测试,并测试了一些网站,它在一些网站上工作,但不是所有的网站,我花了一些时间调试,但无法找出问题的原因,所以请建议,提前感谢 javascript:(函数(){ document.onmouseup=MouseUp; 函数MouseUp(事件){ 变量t; var w=窗内

最近,我想为我的父母开发一个书签,帮助他们阅读一些英文网站,想法是当他们在网站上阅读时,点击我用javascript创建的书签,这样他们通过双击或鼠标选择的每个单词或语句都会被捕获并发送到dict网站以查找翻译,我完成了一个测试,并测试了一些网站,它在一些网站上工作,但不是所有的网站,我花了一些时间调试,但无法找出问题的原因,所以请建议,提前感谢

javascript:(函数(){
document.onmouseup=MouseUp;
函数MouseUp(事件){
变量t;
var w=窗内宽度;
var h=窗内高度;
var-dw=w*0.7;
var dh=h*0.7;
var x=event.clientX;
var y=event.clientY;
var-os=20;
试一试{
if(window.getSelection){
t=window.getSelection().toString()
}else if(document.getSelection){
t=document.getSelection()
}else if(文档选择){
t=document.selection.createRange().text
}
如果(t.长度>1){
var dictWindow=document.createElement('div');
setAttribute('id','dictWindow');
dictWindow.style.border='thick solid#0000FF';
dictWindow.style.zIndex='1000';
dictWindow.style.width=dw;
dictWindow.style.height=dh;
dictWindow.style.position='fixed';
dictWindow.style.left=(x+dw+os>w)?x-dw-os:x+os;
dictWindow.style.top=(y+dh+os>h)?y-dh-os:y+os;
dictWindow.style.overflow='auto';
dictWindow.style.backgroundColor='#FFF';
var closeSpan=document.createElement('span');
closeSpan.innerHTML='Close';
closeSpan.style.width='50px';
closeSpan.style.height='20px';
closeSpan.style.position='绝对';
closeSpan.style.left='2px';
closeSpan.style.top='2px';
closeSpan.style.zIndex='10001';
closeSpan.style.backgroundColor='#CCC';
closeSpan.style.cursor='pointer';
closeSpan.onclick=函数(){
document.getElementById('dictwindow').remove()
};
var iframe=document.createElement('iframe');
iframe.src=http://www.dict.cn/“+t;
iframe.style.width='100%';
iframe.style.height='100%';
iframe.style.zIndex='999';
iframe.style.position='绝对';
dictWindow.appendChild(closeSpan);
dictWindow.appendChild(iframe);
document.body.appendChild(dictWindow)
}
}捕获(e){
警报(e)
}
}

})();示例站点和错误消息将非常有用。bookmarklet通常不适用于iFrame,因为它的来源相同。我没有收到任何错误消息,唯一能告诉我的是,它会弹出翻译窗口,看起来页面滚动到了最后,但没有其他内容,我使用chrome进行调试,但找不到任何有价值的信息来帮助我解决问题。我用9to5mac.com测试了我的bookmarklet,它工作正常,但stackoverflow.com、cnbc.com等其他网站工作不好。一旦我拿起一个单词,它就会向下滚动到页面末尾,没有显示任何其他内容。似乎位置已关闭。在某些页面上,您添加iframe的方式使其没有扩展空间