我在HTML文件中使用Javascript來展開和摺疊文件的元素。Javascript適用於Chrome,但不適用於IE或Firefox
這是腳本:
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;
}
}
當我調用腳本,我使用以下命令:
<a id="h7217" class="expandingblocktemplate" title="" href="javascript:toggleBlock('7217')">
在Chrome中的一切工作正常。
在IE中,點擊鏈接會導致不同的窗口(顯示的地址顯然是javascript:toggleBlock('7217'),數字取決於點擊的鏈接)以及錯誤「Internet Explorer無法顯示網頁」 。
在Firefox中,一個新的標籤出現,錯誤控制檯說:
錯誤:toggleBlock沒有定義
源文件:JavaScript的:toggleBlock( '7217')
線:1