0

Phonegapで機能するシンプルな画像ボタンを取得しようとしています。クリックしたときに画像を入れ替えて、しばらくしてから場所に転送したい。

だから私が試したこと:

function highl(Bildname,BildURL,Link) {
document.images[Bildname].src = BildURL;
window.setTimeout(forward,1000);

function forward() {
window.location = Link;
}
}

HTMLでは、次のようなリンクがあります。

<a href="javascript:highl('level01','level1h.png','test.html')"><img name="level01" src="level1.png" border="0"></a>

私のMozではうまく機能しますが、Webkit / phonegapでは機能しません(スワップはうまく機能しません)。

誰か助けてもらえますか?

編集:クロームでも動作しません...

4

1 に答える 1

0

Webkit は DOM 属性の変更 (問題 8191を参照)をサポートしていませ。問題に関連している可能性があります。

回避策として、DOM ノードのコンテンツを単純に削除し、代わりに新しいイメージ ノードを作成する必要があると思います。

編集:コード付き

コンテナを識別する必要があります。また、href を設定して javascrpt を無効にしても、リンクをたどることができます。JavaScript が有効になっている場合return false、ブラウザにリンクをたどらないように指示します。

<a href="test.html" onClick="return highl(this, 'level1h.png', 'test.html');">

ジャバスクリプト。非常に短いのでインライン化forwardしましたが、インライン化する必要はありません。

function highl(el, imgURL, link) {
  var img =  new Image();
  img.src = imgUrl;
  // remove current image. TODO ensure firstChild is not null?
  el.removeChild(el.firstChild);
  // place new image
  el.append(img);
  setTimeout(function() {window.location=link;}, 1000);
  return false;
}
于 2013-01-17T10:37:58.603 に答える