Webテンプレート用のカスタムポップアップを生成するためにCSSセレクタを使用しています - 基本的に、いくつかのプロデューサーはJSポップアップサイズなどを設定するには簡単な方法が必要です。このアプローチのメリットには本当に関心がありませんが、jQueryがSafariのアンカーのCSS。
参照:http://f1shw1ck.com/jquery_sandbox/csspops.html
私の質問の肉:
セレクタa.popup {width: 800px;height: 560px;}
とアンカー<a href="http://www.metmuseum.org/toah/hd/apol/hd_apol.htm" class="popup">African Rock Art: Apollo 11 Cave Stone (c. 25,500 - 23,500 BCE)</a>
なぜ
if ($(this).css("width")) {
windowParams.width = $(this).css("width");
}
if ($(this).css("height")) {
windowParams.height = $(this).css("height");
}
の両方の性質をSafariでゼロとして戻ってきているために?
onclick他のブラウザのポップアップアラート:ツールバー=いいえ、ディレクトリ=いいえ、サイズ変更=はい、メニューバー=いいえ、スクロールバー=はい、ステータス=いいえ、幅= 800px、高さ= 560px、上= 20、left = 240
Safariの警告:toolbar = no、directories = no、location = no、menubar = no、scrollbars = yes、status = no、width = 0px、height = 0px、上= 20、左= 640
ご理解いただきありがとうございます。
Hmmm、ドキュメントの読み込み時に設定されるアンカーの高さと幅ではありませんか? –
これはキーコンセプトです。「根本的な問題は、WebKitブラウザ(SafariとChrome)がJavaScriptとCSS情報を同時に読み込むためです。このため、CSSのスタイル効果が計算される前にJavaScriptが実行されてしまう可能性があります。 – micahwittman
「場合(jQuery.browser.safari && document.readystateで=! "私は追加" 完了){ \t \t \t //console.info('ready ... '); \t \t \tのsetTimeout(arguments.calleeを、 100); \t \t \tリターン; \t \t \t} " 私はCSSを計算した後に、JavaScriptを実行することを意味するだろうと思いました。しかし、私はまだ間違った答えを得ています。 –