3

ウェブサイトのすべてのページに、自己更新型の非表示の iframe が含まれています。更新するたびに、新しいアラートがないかデータベースをチェックします (Web サイトは従来の ASP でコーディングされています)。iframe が読み込まれて新しいアラートが見つかると、mp3 通知音を再生する埋め込みタグが含まれます。

私の問題は、iframe が埋め込みタグで読み込まれると、ユーザーがその時点で入力していた場合、カーソルがテキスト フィールドにフォーカスを失うことです。

これは、Safari、FireFox、または Chrome では問題ではないようです... IE のみで、IE 9 を実行しています。この Web サイトに音声を追加することを敢えてしたのはこれが初めてです...少なくとも、言及されているすべてのブラウザーの最新バージョンでこれを機能させることができれば幸いです。

これが私の埋め込みタグです:

<embed hidden="true" autoplay="true" src="/AllInclude/Sounds/Notification_1.mp3" height="0px" style="overflow:hidden"></embed>

iframe を含む私のコードは次のとおりです。

<iframe src="/AllInclude/AlertChecker.asp" style="overflow:hidden;height:0px;position:absolute;top:-1000px" frameborder="no"></iframe>

私のiframeがそれ自体を更新するために使用するものは次のとおりです。

<script type="text/javascript"> 
setTimeout ('ReloadPage()', 15000 ); 
function ReloadPage() { 
window.location = window.location; 
}
</script>

ありがとう!

アップデート:

埋め込みタグの代わりに html5 オーディオ タグの作業バージョンを取得できました...ただし、オーディオ タグは html5 であるため、これを機能させるには、すべてのページに「DOCTYPE html」タグを追加する必要があります。すなわち。このタグは、古い ASP Web サイトの互換性に大きな問題を引き起こします...残念ながら、html5 はオプションではありません。

4

2 に答える 2

1

あなたが使用することができます:

オーディオまたは埋め込みタグの代わりに iframe

<iframe id="iframe" src="blank.html" disable="disabled" style="position:absolute;top:-10px;></iframe>
<!--You will need to save a blank html file as blank.html"/-->
<script type="text/javascript'>
/* 
add the condition for audio to load 
*/
document.getElementById("iframe").src="AllInclude/Sounds/Notification_1.mp3"
</script>

ただし、上記の他のオプションと組み合わせることをお勧めします...

于 2012-10-28T02:11:05.417 に答える
0

さて、この問題に対する良い解決策が見つからなかったので、Adobe Flash にチャンスを与えることにしました。今のところ、それが最良の選択肢のようです。それはきれいではなく、私がこれを機能させたい方法ではありませんが、機能します (ほとんどの人はフラッシュをインストールしています)。

とにかく、ここで、自動的に起動する機能を持つ無料のフラッシュ オーディオ プレーヤーを見つけました。

http://wpaudioplayer.com/standalone/

私のコードは次のようになります (embed タグは他のブラウザでも問題なく動作するため、IE 用の Flash Player のみを実装しています)。

<%
BrowserType = lcase(Request.ServerVariables("HTTP_USER_AGENT"))
if onload <> "" AND InStr(BrowserType,"msie") > 0 then
%>
    <script type="text/javascript" src="/AllInclude/JS/audio-player.js"></script>  
    <script type="text/javascript">AudioPlayer.setup("/AllInclude/Flash/player.swf", {width: 290, autostart: "yes"});</script>
    <p id="audioplayer_1">Alternative content</p>
    <script type="text/javascript">AudioPlayer.embed("audioplayer_1", {soundFile: "/AllInclude/Sounds/Notification_1.mp3"});</script>
<% elseif onload <> "" then %>
    <embed hidden="true" autoplay="true" src="/AllInclude/Sounds/Notification_1.mp3" height="0px" style="overflow:hidden;"></embed>
<% end if %>
于 2012-10-05T15:07:45.407 に答える