iPhoneからTeamSpiritを使いたい

会社から支給されたiPhoneからweb版のTeamSpirit(Salesforce)を使いたい、という声を聞きました。

どうやら Android では出退勤ボタンを操作できるのですが、iOSでは表示されないようなのです。

原因を探る

iframeが使用されている

PCでサイトを確認したところ、どうやら表示されないTeamSpritの画面は iframe タグで表示されている様子。
別に webkitiframe に対応していないわけではありません。

src 属性を調べる

iframe に設定されているsrc属性を確認すると、Salesforce 本体のドメインと、TeamSpritの勤怠ボタンのドメインが異なることがわかりました。
これが手がかりになります。

webkitの仕様を確認

ios iframe 表示されないと安易にググってもろくな情報が見つかりませんでした。

そんなときは英語で検索するのが早いです。
not working(動かん) を入れると、StakOverflowの記事が引っかかりました。

Why is iframe blank only with iOS?
https://stackoverflow.com/questions/68250943/why-is-iframe-blank-only-with-ios

どうやらサードパーティへのトラッキングを制限するためにiOS13からデフォルトで防がれているようです。
ソース

ドメインが異なるのでiOSでサードパーティと判断され、TeamSpritの表示を制限しているようです。

対応方法

サイト超えトラッキング制御が原因なので、このオプションをオフにしてやればTeamSpritも表示できます。
設定→Safari→サイト超えトラッキングを防ぐ から変更できます。

File

このオプションオフにしてだいじょうぶ?

iOSはデフォルトでトラッキングされないようにオフにしていますが、逆に言うとPCやAndroidは許可している状態と考えられます。
であればオフにしても危険っていうことはないのかなと思いますが、自己責任で。
ちなみにオフってもiOSから警告が出ることもなかったです。

それでは良い勤怠ボタンぽちぽちライフを。

Subscribe to 猫好きが猫以外のことも書く

Don’t miss out on the latest issues. Sign up now to get access to the library of members-only issues.
jamie@example.com
Subscribe