私はFireFoxからのライブ情報を取得しようとしているサーバーを持っています。これは正常に動作し、xmlを使用しているため、 。私はクロムと理解していないxmlを許可しないが、私はこれを修正する方法がわからない。誰かが自分の知識を貸して私を助けることができるかどうか分かります。ここにコードがあります。私は、問題は、elseの場合は、関数のloadXMLDocのクロムによると、エラーは--- xmldoc.loadは関数ではないに基づいて考えています。すべてのブラウザで実行されるようにコードを修正する方法
<SCRIPT language="JavaScript">
// Object to load the live standings
var xmldoc;
function loadXMLDoc(xmlurl) {
if (window.ActiveXObject) {
// code for IE
xmldoc = new ActiveXObject("Microsoft.XMLDOM");
xmldoc.onreadystatechange = state_Change
xmldoc.async = true
xmldoc.load(xmlurl);
} else if (document.implementation && document.implementation.createDocument) {
// code for Mozilla, Firefox, Opera, etc.
xmldoc = document.implementation.createDocument("","",null)
xmldoc.async = true
xmldoc.onload = populate
xmldoc.load(xmlurl)
} else {
// alert('Your browser cannot handle this script');
}
}
var interval, livetab
function populate() {
livetab = document.getElementById ? document.getElementById('livetable') : document.all.livetable
// First remove all existing rows from the body
for (var i = livetab.tBodies[0].rows.length - 1; i >= 0; i--) {
livetab.tBodies[0].deleteRow(i)
}
// Load the rows
if (xmldoc != null) {
var xn
// Do the common data here
xn = xmldoc.getElementsByTagName('track')[0].childNodes[0]
livetab.caption.innerHTML = (xn == null ? '' : xn.nodeValue)
xn = xmldoc.getElementsByTagName('server')[0].childNodes[0]
document.getElementById('server').innerHTML = (xn == null ? '' : xn.nodeValue)
xn = xmldoc.getElementsByTagName('session')[0].childNodes[0]
document.getElementById('session').innerHTML = (xn == null ? '' : xn.nodeValue)
xn = xmldoc.getElementsByTagName('progress')[0].childNodes[0]
document.getElementById('progress').innerHTML = (xn == null ? '' : xn.nodeValue)
for (var row = 0; row < xmldoc.getElementsByTagName('standings').length; row++) {
// Add rows
var r = livetab.tBodies[0].appendChild(document.createElement('tr'))
r.className = 'detail' + (row & 1 ? 'odd' : 'even')
var c
c = document.createElement('td')
c.className = 'col1' + (row & 1 ? 'odd' : 'even')
xn = xmldoc.getElementsByTagName('position')[row].childNodes[0]
c.appendChild(document.createTextNode(xn == null ? '' : xn.nodeValue))
r.appendChild(c)
c = document.createElement('td')
c.className = 'col2' + (row & 1 ? 'odd' : 'even')
xn = xmldoc.getElementsByTagName('driver-name')[row].childNodes[0]
c.appendChild(document.createTextNode(xn == null ? '' : xn.nodeValue))
r.appendChild(c)
c = document.createElement('td')
c.className = 'col3' + (row & 1 ? 'odd' : 'even')
xn = xmldoc.getElementsByTagName('vehicle')[row].childNodes[0]
c.appendChild(document.createTextNode(xn == null ? '' : xn.nodeValue))
r.appendChild(c)
c = document.createElement('td')
c.className = 'col4' + (row & 1 ? 'odd' : 'even')
xn = xmldoc.getElementsByTagName('best-lap')[row].childNodes[0]
c.appendChild(document.createTextNode(xn == null ? '' : xn.nodeValue))
r.appendChild(c)
c = document.createElement('td')
c.className = 'col5' + (row & 1 ? 'odd' : 'even')
xn = xmldoc.getElementsByTagName('behind-leader')[row].childNodes[0]
c.appendChild(document.createTextNode(xn == null ? '' : xn.nodeValue))
r.appendChild(c)
c = document.createElement('td')
c.className = 'col6' + (row & 1 ? 'odd' : 'even')
xn = xmldoc.getElementsByTagName('last-lap-time')[row].childNodes[0]
c.appendChild(document.createTextNode(xn == null ? '' : xn.nodeValue))
r.appendChild(c)
c = document.createElement('td')
c.className = 'col7' + (row & 1 ? 'odd' : 'even')
xn = xmldoc.getElementsByTagName('laps-led')[row].childNodes[0]
c.appendChild(document.createTextNode(xn == null ? '' : xn.nodeValue))
r.appendChild(c)
c = document.createElement('td')
c.className = 'col8' + (row & 1 ? 'odd' : 'even')
xn = xmldoc.getElementsByTagName('total-laps')[row].childNodes[0]
c.appendChild(document.createTextNode(xn == null ? '' : xn.nodeValue))
r.appendChild(c)
c = document.createElement('td')
c.className = 'col12' + (row & 1 ? 'odd' : 'even')
xn = xmldoc.getElementsByTagName('finish-status')[row].childNodes[0]
c.appendChild(document.createTextNode(xn == null ? '' : xn.nodeValue))
r.appendChild(c)
}
}
// Refresh interval
clearInterval(interval)
interval = setInterval("loadXMLDoc('ARCALive?id=livedata')", 6000)
}
window.onload = function() { loadXMLDoc('ARCALive?id=livedata') }
//window.onload = function() { loadXMLDoc('ARCALive/ARCATest.xml') }
</script>
ChromeはXMLを許可していませんか?いつから?何かが変わっていない限り、私はそれを知らない。またはどちらか一方。 – Rob
申し訳ありませんが、私はChromeがxml loadメソッドを使用できないことを意味していました。 –