タグ付けされた質問 「safari」

SafariはAppleのWebブラウザであり、macOSおよびiOSのデフォルトのブラウザです。

3
フレックス/グリッドレイアウトがボタンまたはフィールドセット要素で機能しない
<button>-tagの内部要素をflexboxので中央に配置しようとしていjustify-content: centerます。しかし、Safariはそれらを中央に配置しません。他のタグにも同じスタイルを適用でき、意図したとおりに機能します(<p>-tagを参照)。ボタンだけが左揃えになります。 FirefoxまたはChromeを試してみると、違いがわかります。 上書きしなければならないユーザーエージェントスタイルはありますか?または、この問題に対する他の解決策はありますか? div { display: flex; flex-direction: column; width: 100%; } button, p { display: flex; flex-direction: row; justify-content: center; } <div> <button> <span>Test</span> <span>Test</span> </button> <p> <span>Test</span> <span>Test</span> </p> </div> コードスニペットを実行するHide resultsスニペットを展開 そしてjsfiddle:http://jsfiddle.net/z3sfwtn2/2/
91 html  css  safari  flexbox  css-grid 

10
モバイルSafariでクリックイベントの300ミリ秒の遅延を排除
モバイルSafariでは、リンク/ボタンがクリックされてからイベントが発生するまでのクリックイベントで300ミリ秒の遅延があることを読みました。遅延の理由は、ユーザーがダブルクリックするつもりかどうかを確認するために待機することですが、UXの観点からは、300ms待機することは望ましくありません。 この300ミリ秒の遅延を解消する1つの解決策は、jQuery Mobileの「タップ」処理を使用することです。残念ながら、私はこのフレームワークに精通しておらず、必要なものが1行または2行のコードをtouchend適切に適用するだけの場合は、大きなフレームワークをロードしたくありません。 多くのサイトと同様に、私のサイトには次のような多くのクリックイベントがあります。 $("button.submitBtn").on('click', function (e) { $.ajaxSubmit({... //ajax form submisssion }); $("a.ajax").on('click', function (e) { $.ajax({... //ajax page loading }); $("button.modal").on('click', function (e) { //show/hide modal dialog }); そして、私がしたいのは、次のような単一のコードスニペットを使用して、すべてのクリックイベントの300ミリ秒の遅延を取り除くことです。 $("a, button").on('tap', function (e) { $(this).trigger('click'); e.preventDefault(); }); それは悪い/良い考えですか?

10
iOSデバイス(モバイルSafari)の入力フィールドでテキストをプログラムで選択する
モバイルSafariを実行しているiPhone、iPadなどのiOSデバイスで入力フィールドのテキストをプログラムでどのように選択しますか? 通常.select()、<input ... />要素で関数を呼び出すだけで十分ですが、これはそれらのデバイスでは機能しません。カーソルは既存のエントリの最後に置かれ、選択は行われません。


12
jQuery .load()呼び出しは、ロードされたHTMLファイルでJavaScriptを実行しません
これはSafariのみに関連する問題のようです。Macで4つ、Windowsで3つ試しましたが、まだうまくいきません。 外部のHTMLファイルをロードして、埋め込まれているJavaScriptを実行しようとしています。 私が使おうとしているコードはこれです: $("#myBtn").click(function() { $("#myDiv").load("trackingCode.html"); }); trackingCode.html このように見えます(今は簡単ですが、一度拡張します/これが機能するようになれば): <html> <head> <title>Tracking HTML File</title> <script language="javascript" type="text/javascript"> alert("outside the jQuery ready"); $(function() { alert("inside the jQuery ready"); }); </script> </head> <body> </body> </html> IE(6&7)とFirefox(2&3)の両方でアラートメッセージが表示されます。ただし、Safariでメッセージを表示できません(最後に気にする必要のあるブラウザー-プロジェクト要件-炎上戦争はしないでください)。 SafariがtrackingCode.htmlファイル内のJavaScriptを無視している理由について何か考えはありますか? 最終的には、JavaScriptオブジェクトをこのtrackingCode.htmlファイルに渡してjQuery ready呼び出しで使用できるようにしたいのですが、その道を進む前に、すべてのブラウザーでこれが可能であることを確認したいと思います。
83 jquery  ajax  safari 

2
パスワードフィールドの最初の文字がデフォルトで大文字になっているiPhoneブラウザ
私は自分のウェブアプリのモバイルバージョンのログインページを書いています、そして私は次のような単純なHTMLパスワードフィールドを持っています: <input id="password" type="password" /> 唯一の問題は、iPhone Safariブラウザーがデフォルトで入力の最初の文字を大文字にすることです。これは、パスワードで大文字と小文字が区別され、常に大文字と小文字が区別されるとは限らないため、ユーザーを混乱させます。 ユーザーが特に指定しない限り、これを停止し、iPhone入力を小文字に強制する方法、タグ、またはその他の方法を知っている人はいますか?それとも、これは単に変更できないプラットフォームの機能ですか?

3
iOS 7-Safariで前後にスワイプする機能を無効にする方法はありますか?
一部のWebページでは、iPhoneの左右のスワイプ機能を使用してメニューを表示します。iOS7では、左右のスワイプでブラウザの履歴の前のページと次のページに前後に移動する機能が導入されました。 しかし、スワイプアクションで競合する動作が発生しないように、特定のページで無効にする方法はありますか?
83 ios  safari  ios7 

8
iPhone / iPodtouch用SafariiOS7でナビゲーションバーを非表示にすることはできません
javascript / css / htmlを使用してプログラムでバーを非表示にする解決策はないと思いますが、問題について説明してみましょう。私たちはモバイルゲーム開発者のチームであり、1年間ゲームを開発しています。 iOS 7の発表後、ナビゲーションバーを非表示にすることは不可能であるという問題に直面しました。ユーザーがSafariブラウザーの上部または下部をタップすると、ナビゲーションバーが再び表示され、ゲームのすべてのコントロールが非表示になります。 これまでに見つけた唯一の解決策は、ユーザーに次のことを強制することです。 デバイスを回転させる ページをスクロールする ホーム画面にアプリケーションを追加する これらの選択肢はどれも受け入れられません。Appleはこの問題を認識しているようですが、無視し続けています。報告されたバグは、バグ#14076889の複製としてクローズされました。 同じ問題を経験しているのは私たちだけではないと思います。誰かが解決策を知っていますか?
81 javascript  ios  html  ios7  safari 

2
SameSite = Noneを設定した後でも、SafariがCookieを送信しない。安全
私たちのアプリケーションはクッキーを使用してユーザーのログインを記憶しています。私たちが行うすべての認証API呼び出しでは、ブラウザーはサーバー設定のHTTPonly CookieをAPIリクエストに添付して認証されます。この動作は、Mojaveのリリース後のSafariでは壊れているようです。 サファリによって実装されたクロスサイトCookieセキュリティとSameSite=None;Secure、Cookieの設定中に追加されたサーバーチームについて読みました。それでも、それでも動作しません。 Set-Cookie: my_cookie=XXXXX; path=/; secure; HttpOnly; SameSite=None 実際に解決策を見つけた人々からのアドバイスやリンクを提供してください。

1
Safariに読み込まれると、アドインがクラシックモードのOutlook Web Appで機能しない
こんにちはOffice 365(Microsoft 365)チーム、 認定プロセスについて、ご協力をお願いします。Outlookアドインが1つの問題のみで認証に失敗しました: 1120.3.2.5オンラインSafari Safari(13.1)にロードすると、アドインがモダンモードとクラシックモードのOutlook Web Appで機能しない 起動時に次のエラーが表示されます:「問題が発生したため、このアドインを開始できませんでした。しばらくしてからもう一度試すか、システム管理者に連絡してください。」 私はアドインを正常にテストしました 異なるSafariバージョン(13.0および13.1)、および メールアカウント(企業のAzure ExchangeサーバーとOutlook Live(@ outlook.hu)) (念のためChromeでも) 次のURL: https://outlook.office.com/owa(モダンモード) https://outlook.office.com/owa?path=classic(クラシックモード) 私のアドインのタスクパネルには、Content-Security-Policyルールセット(frame-ancestors)が適用されており、htmlファイルを次のオリジンに埋め込むことができます。 https://outlook.office.com/ https://outlook.office365.com/ https://outlook.live.com/ 認定プロセスで、これらのドメインのいずれかで実行されているOWAが使用されていることを確認してください。(ログにCSP違反のレポートは見つかりませんでした。) アドインがコンピューターで実行されているのに、まだ認証に失敗する理由はほかにわかりません。 次のスタックオーバーフローの質問が関連している可能性があります。 サファリクラシックモードとは何ですか? Office 365アドイン:コンテンツセキュリティポリシーの問題

1
SafariのStorage Access APIを使用してiframeにCookieを設定できません
ページにiframeがあります。SafariがサードパーティのCookieをブロックしているため、「開発者向けガイダンス」で以下の提案に従ってStorage Access APIを使用しようとしています。https://webkit.org/blog/10218/full-third-party-cookie-blocking-and-more /。ドキュメントから次のコードをコピーしました: <script type="text/javascript"> window.addEventListener('load', () => { document.getElementById('test-button').addEventListener('click', () => { document.hasStorageAccess().then(hasAccess => { console.log('hasAccess: ' + hasAccess); if (!hasAccess) { return document.requestStorageAccess(); } }).then(_ => { console.log('Now we have first-party storage access!'); document.cookie = "foo=bar"; console.log(`document.cookie: ${document.cookie}`); }).catch(_ => { console.log('error'); }); }); }); </script> <button …

2
Safari 13以降のiframeがCORS Cookieをブロックする
Safariのフラットアウトでは、親ドメインとは異なるドメインのiframeにcookieを設定できません。サーバー側のCORSヘッダーは抑制されます。 明確にするために:ユーザーはdomainA.comにいます。domainB.comのiframeが開いていて、iframe内のdomainB.comのユーザーを認証しようとします。Set-Cookieヘッダーは、必要なすべてのヘッダーとともに、domainB.com iframe内のサーバーから返されますが、Safariは後続の呼び出しでそれを送り返しません。 以前の回避策は、iframeからフォームを送信し、応答にCookieを設定することでした。ユーザーがフォームをクリックして何かを送信するのが好きだったのではないでしょうか。フォームの送信にはコールバックがないため、Cookieをポーリングして応答がいつ返されたかを確認する必要があります。また、HttpOnly Cookieの場合はできませんでしたが、うまくいきました。それがなかったまで。 次に、より最近の回避策は、ユーザーを真新しいウィンドウ/タブでiframeドメインにリダイレクトし、そこにランダムなCookieを設定し、その瞬間から、そのサブドメインがiframe内で「信頼」されたことです。ここでも、新しいウィンドウ/タブを開くにはクリックが必要で、新しいタブが開いていることを視覚的に示すこともありました。多くのセキュリティ、そのような標準。 そして今、Safari 13以降-回避策はありません。安全なiframe Cookie設定はもうありません 🤬 その他の認証スキームは、私たちには適していません(例:Auth-Xヘッダー)。HttpOnlyセキュアCookieを使用する必要があります。これは、そのトークンがJavaScriptクライアント側からアクセスできないようにするためです。 明確にするために、すべてが他のブラウザでうまく機能します。 関連するWebKit Bugzilla 誰か提案はありますか? 編集: リンク@tomschmidtをありがとう、それは正しい方向のようです。AppleのStorage Access APIを使用してみましたが、残念ながら、APIを使用してログインロジックを初期化する前にアクセスをリクエストするようにしていますが、 requestStorageAccess = async() => { return new Promise(resolve => { //@ts-ignore document.requestStorageAccess().then( function () { console.log('Storage access was granted'); resolve(true); }, function () { console.log('Storage access was denied'); resolve(false); } ); …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.