IE6-IE8 javascript错误。。。帮助

IE6-IE8 javascript错误。。。帮助,javascript,internet-explorer,bookmarklet,Javascript,Internet Explorer,Bookmarklet,我正在制作一个书签来查看任何站点的cookies,它可以在IE9+、firefox、chrome、safari等浏览器中运行。我不关心IE5.5,所以主要问题是IE6-IE8上的javascript错误。他们错误地说出以下内容中的“未终止字符串常量”: javascript:if(document.getElementById('cookieelement')!=null){ document.body.removeChild(document.getElementById('cookiee

我正在制作一个书签来查看任何站点的cookies,它可以在IE9+、firefox、chrome、safari等浏览器中运行。我不关心IE5.5,所以主要问题是IE6-IE8上的javascript错误。他们错误地说出以下内容中的“未终止字符串常量”:

javascript:if(document.getElementById('cookieelement')!=null){
  document.body.removeChild(document.getElementById('cookieelement'));
} else {
  document.body.innerHTML='<div style="font-size:10pt;color:#000000;padding:10px;border:solid 1px #000000;background:white;display:block;position:fixed;top:0px;z-index:999999999999;" id="cookieelement"></div>'+document.body.innerHTML;
  cookieelement=document.getElementById('cookieelement');
  cookies=document.cookie.split(';');
  cookiehtml=('<table style="border-collapse:collapse;border:Solid 1px #000000;">\n');
  for(i=0;i<cookies.length;i++){
    cookie=cookies[i];
    name=cookie.substr(0,cookie.indexOf('='),cookie.length);
    val=cookie.substr(cookie.indexOf('=')+1,cookie.length);
    cookiehtml+=('\t<tr>\n\t\t<td style="padding:3px;text-align:right;padding-right:10px;border:Solid 1px #000000;">'+name+'</td>\n\t\t<td style="padding:3px;text-align:left;border:Solid 1px #000000;">'+val+'</td>\n\t</tr>\n');
  }
  cookiehtml+=('</table>');cookieelement.innerHTML=cookiehtml;
}
void(0);
javascript:if(document.getElementById('cookieelement')!=null){
document.body.removeChild(document.getElementById('cookieelement');
}否则{
document.body.innerHTML=''+document.body.innerHTML;
cookieelement=document.getElementById('cookieelement');
cookies=document.cookie.split(“;”);
cookiehtml=('\n');
对于(i=0;i我在IE7中没有得到未终止的字符串内容错误。
然而,我得到了一个同样神秘的对象,它不支持属性或方法消息

这可能是因为在IE中,可以通过元素的
id
全局访问元素。这意味着如果您有一个id为
abcd
的元素,则可以通过
文档进行全局访问。abcd
这不是标准,但在IE中是可能的

尝试将cookie元素变量的名称更改为其他名称。我将其更改为
cookieElement1
,瞧,它可以工作:

javascript: if(document.getElementById('cookieelement')!=null){   document.body.removeChild(document.getElementById('cookieelement')); } else {   document.body.innerHTML='<div style="font-size:10pt;color:#000000;padding:10px;border:solid 1px #000000;background:white;display:block;position:fixed;top:0px;z-index:999999999999;" id="cookieelement"></div>'+document.body.innerHTML;   cookieelement1=document.getElementById('cookieelement');   cookies=document.cookie.split(';');   cookiehtml=('<table style="border-collapse:collapse;border:Solid 1px #000000;">\n');   for(i=0;i<cookies.length;i++){     cookie=cookies[i];     name=cookie.substr(0,cookie.indexOf('='),cookie.length);     val=cookie.substr(cookie.indexOf('=')+1,cookie.length);     cookiehtml+=('\t<tr>\n\t\t<td style="padding:3px;text-align:right;padding-right:10px;border:Solid 1px #000000;">'+name+'</td>\n\t\t<td style="padding:3px;text-align:left;border:Solid 1px #000000;">'+val+'</td>\n\t</tr>\n');   }   cookiehtml+=('</table>');cookieelement1.innerHTML=cookiehtml; } void(0);
javascript:if(document.getElementById('cookieelement')!=null){document.body.removeChild(document.getElementById('cookieelement');}else{document.body.innerHTML='+document.body.innerHTML;cookieelement1=document.getElementById('cookieelement');cookies=document.cookie.cookie.split(';');cookiehtml=('\n');for(i=0;i=0;i=0)