Wir haben gerade einen Online-Shop eröffnet.
Auf dieser Seite stürzen die Auswahlboxen im Internet Explorer 7 auf einigen Computern ab. Auf meinem Computer nie. Weiß jemand, warum?
Live-Link: http://velour.se/collection/women/tops/eloise Update: Es hat sich herausgestellt, dass die erste Version, die ich gepostet habe, nicht abgestürzt ist. Aber das folgende schon: http://velour.se/collection/women/outerwear/irina
Screendump: http://skitch.com/jesperlind/nc4j2/tops-eloise-velour-ie7-bug
Originalfassung:
<select id="sizeDD" onchange="javascript:SizeChange(this);"></select>
//Internet Explorer problem.
function SizeChange(e){
DrawAmountDD(GetAmountById(e.value));
}
Hier ist ein Teil des Codes, von dem ich denke, dass er betroffen sein könnte:
function DrawAmountDD(maxAmount){
/*var max = parseInt(maxAmount) > parseInt(maxShowAmount) ? maxShowAmount : maxAmount;
var html = "";
for(var i=1; i <= max; i++){
html += "<option value='" + i + "'>" + i + "</option>";
}
$("#amountDD").html(html);*/
var max = parseInt(maxAmount) > parseInt(maxShowAmount) ? maxShowAmount : maxAmount;
var ddlAmount = document.getElementById("amountDD");
ddlAmount.length=max;
for(var a=1; a <= max; a++){
ddlAmount.options[a-1].value = a;
ddlAmount.options[a-1].text = a;
}
}
Version 2:
<select id="sizeDD"></select>
<select id="amountDD"></select>
<script type="text/javascript">
var maxShowAmount = '5';
var colorSizeArr =
{ "colSize":
[
{ "color": "Black/Offwhite",
"specificId": "2",
"size": "XS",
"amount": "1" }
]
};
colorSizeArr.colSize.push(
{ "color": "Black/Offwhite",
"specificId": "13",
"size": "S",
"amount": "2" });
$(document).ready(function () {
var selectSizeDD = document.getElementById('sizeDD');
selectSizeDD.onchange = function () { sizeChange(selectSizeDD); };
});
function sizeChange(e) {
DrawAmountDD(GetAmountById(e.value));
}
function GetAmountById(specificId) {
for (var i = 0; i < colorSizeArr.colSize.length; i++) {
if (colorSizeArr.colSize[i].specificId == specificId) {
return colorSizeArr.colSize[i].amount;
}
}
return 1;
}
function DrawAmountDD(maxAmount) {
var max = parseInt(maxAmount) > parseInt(maxShowAmount) ? maxShowAmount : maxAmount;
var html = "";
for (var i = 1; i <= max; i++) {
html += "<option value='" + i + "'>" + i + "</option>";
}
$("#amountDD").html(html);
}
</script>
Update
Ich habe noch nicht herausgefunden, warum der Internet Explorer 7 auf einigen Computern abstürzt. Jedenfalls hatte der obige Code nichts damit zu tun. Es war viel einfacher. Der Browser stürzte ab, wenn ich auf ein Auswahlfeld mit nur einer Option klickte. Etwa so:
<select id="amountDD">
<option value="1">1</option>
</select>
Ich fand einige Informationen auf diesen Link, wo es sagt, dass die einzelne Option ein ausgewähltes Attribut sowie haben sollte, aber es scheint für uns ohne das Attribut zum Absturz bringen.
http://www.akselvoll.net/2007/08/ie7-crashes-when-clicking-on-drop-down.html
1 Stimmen
Können Sie auch die Funktion "GetAmountById" veröffentlichen?
2 Stimmen
Können Sie auch erklären, was Sie mit Absturz meinen? Ihr Screenshot zeigt die Website, aber nicht den Fehler.
0 Stimmen
Der Browser stürzt total ab, aber nicht auf meinen Rechnern.
0 Stimmen
Ich habe vergessen, die Url zu posten. Bitte lassen Sie mich wissen, wenn anybodyes IE7 Absturz beim Berühren der Größe und Farbe Selectbox. Ich brauche mehr Hinweise. Sie können es hier live ausprobieren: velour.se/kollektion/damen/oberteile/eloise
0 Stimmen
So dies stirbt auf jedem XP-Rechner EXCEPT für Ihre Maschinen? Haben Sie die JS debuggen, Hinzufügen in Warnungen und was nicht für jede Variable, die Sie verwenden? Außerdem gibt es keine Definition von
maxShowAmount
yGetAmountById
wie KevinP sagte. Können Sie schließlich die Options-Tags angeben, die sich innerhalb der Auswahl befinden?0 Stimmen
Ich weiß nicht, wie häufig der Absturz ist. Es gab nur zwei Berichte über Fehler. Ich habe eine neue Version auf die Live-Website hochgeladen, die ich bald hier oben zusammen mit den fehlenden Variablen veröffentlichen werde. Ich werde die Leute, die die Abstürze hatten, bitten, es noch einmal zu versuchen.
0 Stimmen
@jesperlind: Schauen Sie sich genau an
BindColorDD()
:html += "<option value'" + arr[i] + "'>" + arr[i] + "</option>"
. Das ist kein gültiges Markup.0 Stimmen
Verwenden Sie zufällig CSS-Ausdrücke für das/die fragliche(n) HTML-Element(e)? Sie sind dafür bekannt, dass sie den IE unter (vielen) bestimmten Umständen zum Absturz bringen.
0 Stimmen
Können Sie einen Link zu der Website posten, damit wir sie ausprobieren können, um sie zu reproduzieren? oder vielleicht die gesamte html/js auf pastebin.com posten
0 Stimmen
@Crescent-fresh: Gut gefangen! Ich habe den Fehler auf der Live-Site behoben.
0 Stimmen
@QAZ: Ich habe den Link im vierten Kommentar von oben in diesem Thread gepostet. Danke für die Hilfe!
0 Stimmen
Immer noch keine Fortschritte. Jetzt vermute ich, dass es mit Single Sign On auf meinem HP ProtectTools Security zu tun hat. social.msdn.microsoft.com/Forums/de/iewebdevelopment/thread/
0 Stimmen
Oder dies: akselvoll.net/2007/08/