Javascript funktioniert in Chrome, aber nicht IE oder Firefox
Ich bin mit Javascript innerhalb einer HTML-Datei zum erweitern und ausblenden von Elementen der Datei.
Dies ist das Skript:
function toggleBlock(pstrID){
var myDiv = document.getElementById('d' + pstrID);
if (myDiv){
if (myDiv.style.display == 'none'){
showBlock(pstrID);
} else{
hideBlock(pstrID);
}
}
}
function showBlock(pstrID){
var myDiv = document.getElementById('d' + pstrID);
if (myDiv){
myDiv.style.display = 'block';
var myImage = document.getElementById('i' + pstrID);
if (myImage){
myImage.src = 'arrowdown.gif';
myImage.alt = 'Hide';
}
if (document.location.href.indexOf('mk:@') == 0)
myDiv.innerHTML = myDiv.innerHTML;
}
}
function hideBlock(pstrID){
var myDiv = document.getElementById('d' + pstrID);
if (myDiv){
myDiv.style.display = 'none';
var myImage = document.getElementById('i' + pstrID);
if (myImage){
myImage.src = 'arrowright.gif';
myImage.alt = 'Show';
}
if (document.location.href.indexOf('mk:@') == 0)
myDiv.innerHTML = myDiv.innerHTML;
}
}
Wenn ich das Skript, ich benutze die folgenden:
<a id="h7217" class="expandingblocktemplate" title="" href="javascript:toggleBlock('7217')">
- In Chrome funktioniert alles einwandfrei.
- Im IE, Klick auf den link führt zu einem anderen Fenster (Adresse angezeigt wird, ist javascript:toggleBlock('7217') offensichtlich, die Anzahl hängt von der link geklickt wird) und die Fehlermeldung "Internet Explorer kann die Webseite nicht anzeigen".
- Im Firefox eine neue Registerkarte wird angezeigt und die Fehler-Konsole sagt:
Fehler: toggleBlock ist nicht definiert
Quelldatei: javascript:toggleBlock('7217')
Zeile: 1
InformationsquelleAutor Melvyn | 2011-03-02
Du musst angemeldet sein, um einen Kommentar abzugeben.
fügen Sie einfach
nach der toggleBlock nennen.
InformationsquelleAutor Furqan Hameedi
Zusätzlich zu Furqan Lösung:
Ihnen nie auslösen sollte JavaScript in den
href
Attribut. Es ist ein nicht-standard-Methode, führt leicht zu Fehlern, besonders wenn Sie nicht wissen, was Sie tun. Verwendenonclick
statt und setzen eine gültige URL in derhref
- Attribut für nicht-Skript-Benutzer, oder verwenden Siehref="#"
wenn Sie nicht kümmern sich nicht darum, nicht-Skript-Benutzer.InformationsquelleAutor RoToRa
Versuchen Sie dies:
HTML:
JavaScript:
InformationsquelleAutor Šime Vidas