我正在制作一个书签来查看任何网站的cookie,它适用于IE9 +,firefox,chrome,safari等的每个浏览器。我不关心IE5.5,所以主要问题是javascript错误在IE6上 - IE8。他们从以下错误说“未终止的字符串常量”:
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);
答案 0 :(得分:0)
我在IE7中没有收到未终止的字符串内容错误。 但是,我得到了一个同样神秘的对象不支持属性或方法消息。
这可能是因为在IE中可以通过全局id
访问元素。这意味着如果您有一个标识为abcd
的元素,则可以通过document.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);