まず、私はあなたの典型的なデバッグツールのいくつかが使用できないように書かれたアプリに取り組んでいます(または少なくとも私はその方法を理解できません:)。
JavaScript、htmlなどはすべて「調理」されてエンコードされてから(プロセスがどのように機能するかについて少し曖昧だと思います)、VS 2005をieにアタッチできず、firebugliteが機能しません良い。また、インターフェイスはフレーム内にあるため(yuck)、他のいくつかのツールも同様に機能しません。
FirebugはFirefoxでうまく機能しますが、Firefoxではこの問題は発生していません(Safariでも発生していません)。そのため、コードがIEで再生される方法に「明らかに」問題があることに気付く人がいるかもしれません。その奇抜さについて与えることができるより多くの情報がありますが、これから始めましょう。
基本的に、通常のテーブル行を表示しないようにすることで、テーブルをヘッダーに「折りたたむ」機能があります。私は"onclick='toggleDisplay("theTableElement", "theCollapseImageElement")'"
タグ<tr>
にあり、テーブルは「class='closed'」で始まります。
FFとSafariでは、シングルクリックでテーブルが折りたたまれて展開されますが、IEテーブルを展開するには、複数回のクリック(1〜5の任意の数)が必要です。最初に「開いた」後、テーブルはしばらくの間1回のクリックで拡大および縮小し、最終的には複数回のクリックが必要になる場合があります。Visual Studioでほとんど見えないことから、毎回実際に関数に到達していることがわかります。アドバイスをよろしくお願いします!
JSコードは次のとおりです。
bURL_RM_RID="some image prefix";
CLOSED_TBL="closed";
OPEN_TBL="open";
CLOSED_IMG= bURL_RM_RID+'166';
OPENED_IMG= bURL_RM_RID+'167';
//collapses/expands tbl (a table) and swaps out the image tblimg
function toggleDisplay(tbl, tblimg) {
var rowVisible;
var tblclass = tbl.getAttribute("class");
var tblRows = tbl.rows;
var img = tblimg;
//Are we expanding or collapsing the table?
if (tblclass == CLOSED_TBL) rowVisible = false;
else rowVisible = true;
for (i = 0; i < tblRows.length; i++) {
if (tblRows[i].className != "headerRow") {
tblRows[i].style.display = (rowVisible) ? "none" : "";
}
}
//set the collapse images to the correct state and swap the class name
rowVisible = !rowVisible;
if (rowVisible) {
img.setAttribute("src", CLOSED_IMG);
tbl.setAttribute("class",OPEN_TBL);
}
else {
img.setAttribute("src", OPENED_IMG);
tbl.setAttribute("class",CLOSED_TBL);
}
}