모든 브라우저에서 완벽하게 작동하는 예쁜 북마크릿 코드가 있습니다. 그러나이 코드를 HTML 요소 onClick 핸들러에 넣으면 IE (6, 7 또는 8)에서 작동하지 않습니다.onclick 처리기에 넣을 때이 북마클릿 JS 코드가 작동하지 않는 이유는 무엇입니까?
javascript: (
function(){
function l(i,u){
var d=document;
var s;
try{
s=d.standardCreateElement('script');
}catch(e){}
if(typeof(s)!='object')
s=d.createElement('script');
try{
s.type='text/javascript';
s.src='http://{Domain}/bk/' + u;
s.id='s_' + i;
d.getElementsByTagName('head')[0].appendChild(s);
}catch(e){
}
}
AppD = '{Domain}';
l('b', 'bk.js');
}
)();
북마크로 아래로 압축, 다음과 같습니다 :
이
코드입니다javascript:function(){function l(i,u){var d=document;var s;try{s=d.standardCreateElement('script');}catch(e){} if(typeof(s)!='object') s=d.createElement('script'); try{s.type='text/javascript';s.src='http://{Domain}/bk/' + u;s.id='s_' + i;d.getElementsByTagName('head')[0].appendChild(s);}catch(e){}}AppD = '{Domain}';l('b', 'bk.js');})();
그리고 완벽하게 작동합니다. 내가 자바 스크립트 밖으로 찍은 : 접두사, 및 요소의 OnClick에 넣어 :
<img onclick="function(){function l(i,u){var d=document;var s;try{s=d.standardCreateElement('script');}catch(e){} if(typeof(s)!='object') s=d.createElement('script'); try{s.type='text/javascript';s.src='http://{Domain}/bk/' + u;s.id='s_' + i;d.getElementsByTagName('head')[0].appendChild(s);}catch(e){}}AppD = '{Domain}';l('b', 'bk.js');})();" />
그리고 그 IE보다 제외하고, 너무 잘 작동 bk.js 내부 코드 (주입됩니다 스크립트) 변수 AppD가 정의되지 않았다고 불평합니다 ...
어떤 생각입니까?
onClick 처리기에 넣을 수있는 코드에는 제한이 있습니까?
감사합니다. Daniel