私はすべてのクッキーをクリアしようとしていますが、そのうちのいくつかはサーバ上に設定されており、一部はブラウザクッキーです。Javascriptすべてのクッキーをクリア
私はpauseClearAllCookies機能がオンロードと呼ばれ
下に見ることができるいくつかのJavaScriptコードを、書いたように、しかし、これは私のニーズを満たしていませんでした「」= document.cookieを使用して試してみました。
<script type="text/javascript">
//var cookie_names = new Array("__utma", "__utmb", "__utmc", "__utmz", "mortgage", "track_source","currency","selenium_testing","visit_secure_token", "rdb_history", "_csuid", "search", "finance", "searchhistory");
function pauseClearAllCookies(){
Set_Cookie("selenium_testing","1");
drawTable();
setTimeout("checkCookies();",1000);
document.getElementById('msg').innerHTML = "Gathering Cookies....";
}
var cookie_counter = 0;
var cookieList;
function checkCookies(){
if(document.cookie.indexOf(";") != -1){
cookieList = document.cookie.split(";");
}else{
cookieList = [document.cookie];
}
setTimeout("clearAllCookies();",1000);
}
function clearAllCookies(){
document.getElementById('msg').innerHTML = "Deleting Cookies....";
if(cookie_counter < cookieList.length){
var cookieName = "";
if(cookieList[cookie_counter].indexOf("=") != -1){
cookieName = cookieList[cookie_counter].split("=")[0];
}else{
cookieName = cookieList[cookie_counter];
}
document.getElementById('msg').innerHTML = "Deleting Cookie: "+cookieName;
// clear js cookies
Delete_Cookie(cookieName, '/', document.domain);
Delete_Cookie(cookieName, '/', '.www.abc.co.uk');
Delete_Cookie(cookieName, '/', 'www.abc.co.uk');
Delete_Cookie(cookieName, '/', '.abc.co.uk');
// clear server cookies
Delete_Cookie(cookieName, '/', '');
// increment counter
cookie_counter++;
drawTable();
//recall the function
setTimeout("clearAllCookies();",800);
}else{
Set_Cookie("selenium_testing","1");
}
}
function drawTable() {
var allcookies = document.cookie.split(";");
document.getElementById('heading').innerHTML = allcookies.length + " cookie found";
var table_html = "<table class='data'>";
for(var i=0; i < allcookies.length; i++){
var cookie = allcookies[i].split("=");
table_html += "<tr>";
table_html += "<td>"+(i+1)+"</td>";
table_html += "<td>" + cookie[0] + "</td>";
table_html += "<td>" + cookie[1] + "</td>";
table_html += "<tr>";
}
table_html += "</table>";
document.getElementById('table').innerHTML = table_html;
}
</script>
しかし問題は削除され、アレイにおけるそのALWAYSアイテムナンバーワンではないを通じて私は1枚のクッキーが置き去りにされ、このコードを実行するたびに、それがループしていることです。この問題を分類する上での助けとなることは、本当に高く評価されます。
BerggreenDKは非常に良い点があります。さらに、あなたはDelete_Cookie関数を表示していません... – PhiLho
cookie_counterはどこから値を取得しますか?これは完全なコードですか? – BerggreenDK