純粋な HTML ではそれを行うことはできず、これを解決するには 2 つの方法がありました
- マークアップ言語が好きなら、 if else タグを持つ xsl を使用できます
- Javascriptを使用して、オンエアされているかどうか、オンエアの画像をチェックし、オンエアされていないかどうかを確認します
あなたにとってより良い方法は、あなたのサイトのいくつかのJavaScriptコードを変更することです..
ohrdlog.LoadOnAir を上書きする必要があります。その後、再び 2 つの方法があります。
- http://www.hrdlog.net/hrdlog.jsソースコードを変更し、LoadOnAir 関数を書き直します
- ロード後にスクリプトタグを挿入して LoadOnAir 関数を上書きhttp://www.hrdlog.net/hrdlog.js
別のドメインアドレスからロードするスクリプトを変更できないと思うので、番号2を選択します...この部分の後にこのコードを挿入する必要があります:
<script type="text/javascript" language="javascript" src="http://www.hrdlog.net/hrdlog.js"></script>
そして、HrdLog.prototype.ShowOffAir 関数でオフエア画像のリンクを見つけることができます。今、私はそれをhttp://2.bp.blogspot.com/_Dr3YNV7OXvw/TGNNf561yQI/AAAAAAABIk/-E2MB4jLP_o/s400/Off-Air.jpgに向けています。 :
<script type="text/javascript" language="javascript">
HrdLog.prototype.ShowOffAir = function() {
return '[<img src="https://i.stack.imgur.com/WEr1B.jpg" height="33" width="65" />][2]';
}
HrdLog.prototype.LoadOnAir = function() {
var t = this;
var async = new Async();
async.complete = function(status, statusText, responseText, responseXML, obj) {
if (status == 200) {
txt = '';
var xmldoc = responseXML;
var onairdoc = xmldoc.getElementsByTagName('OnAir');
if (onairdoc.length == 1) {
onair = onairdoc.item(0);
if (onair.getElementsByTagName('oa_QRZ').length > 0) {
txt += '<img src="http://www.hrdlog.net/images/onair.gif" height="33" width="65" /><br/>';
txt += '<font size="+1">' + onair.getElementsByTagName('oa_QRZ')[0].childNodes[0].nodeValue + ' is on air</font><br/>';
txt += '<b>';
txt += FormatNumber(onair.getElementsByTagName('oa_Frequency')[0].childNodes[0].nodeValue) + ' ';
try {
txt += onair.getElementsByTagName('oa_Mode')[0].childNodes[0].nodeValue + '</b><br/>';
txt += onair.getElementsByTagName('oa_Radio')[0].childNodes[0].nodeValue + '<br/><br/>';
} catch (e) { }
//txt += onair.getElementsByTagName('oa_Status')[0].childNodes[0].nodeValue + '<br/>';
}else{
txt += t.ShowOffAir();
}
}else{
txt += t.ShowOffAir();
}
element = document.getElementById('hrdlog-oa');
if (element != null) {
element.innerHTML = txt;
}
} else {
alert('Error\n' + statusText);
}
}
if ((new Date().getTime() - this._lastLoadOnAir.getTime()) > 14500) {
this._lastLoadOnAir = new Date();
async.req(this._host + 'hrdlog.aspx?onair=' + this._qrz, this);
}
}
</script>