2011-07-06 12 views
1

IE5 +、firefox、chrome、safariなどのすべてのブラウザで動作するブックマークレットを作成しています。IE5.5は気にしないので、主な問題はjavascriptエラーです。 IE6 - IE8。彼らは、次の中から「定数終了していません文字列」というエラー: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); 

答えて

0

は、私がIE7に終端されていない文字列コンテンツエラーを得ることはありません。 しかし、私は同じように秘密を持っていますオブジェクトはプロパティまたはメソッドをサポートしていませんメッセージ。

これは、IEでは、グローバルにidで要素にアクセスできるためです。意味は、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);