【iOS】オートメーションからは"WebページでJavaScriptを実行"は実行できない!「Webページなし」が出る…

iOSオートメーション-Webページなし_eyecatch

iOSのオートメーション実行時に「Webページなし」というエラーが出て実行できない時の確認です。

以前、ショートカットアプリで同じエラーが出た時の解決策を書いたのですが、その記事のコメント欄でオートメーションに関しての質問をいただきましたのでこちらの記事にまとめます。

オートメーションで"WebページでJavaScriptを実行"というアクションを使おうとしている方向けの記事となります。

結論:オートメーションでは"WebページでJavaScriptを実行"は出来ません。

オートメーションで「Webページなし」が出る

以前書いた記事
iPhoneショートカットWebページなし_eyecatch
【解決】iPhoneのショートカットで「Webページなし」が出る。Webページが入力として渡されなかったため…って何?

続きを見る

以前書いた記事(↑)では、ショートカットアプリで「Webページなし」というエラーが出る時はショートカットの作り方が間違っており、作り直せば動きました!という内容の記事を書いたのですが、コメント欄に以下のような質問をいただきました。

【匿名】さんより
コメント失礼致します。
オートメーションから今回のようなショートカットを実行することはできるのでしょうか。
Safariの共有シートからショートカットを選択するという手順はあくまでも手動で実行することがあるのですかね…。もしご存知であれば教えてください。

このような内容です。

この記事をご覧の方はご存じかと思いますが、ショートカットからJavaScriptを実行するにはSafariの共有シートを開き、実行するという"手動作業"が必要となります。

iOSオートメーション-Webページなし_001

これをオートメーション化したい

このSafari上でショートカットを開く→実行という操作をオートメーションによって自動化したいという内容ですね・w・
という事で色々テストしてみました!

実はこのコメントをいただいた時点で、僕はオートメーションを使ったことが無かったので「え?出来ないの?」という状態だったのですが、実際に動かしてみると質問の意味が良く分かりました。
オートメーションでも「Webページなし」というエラーが出るんですね…
知りませんでした。

色々試した結果、オートメーションからJavaScriptの実行は出来ないようです。

オートメーションでJavaScriptが実行できない

実際どんな感じにWebページなしが出るのかテストした結果です。
まずショートカットアプリでオートメーションを作成します。

起動タイミングは何でもよかったのですが、"電源に接続したとき"にしました。
アクションは"WebページでJavaScriptを実行"を選択します。

そして実際に電源を繋いで起動させてみます…

iOSオートメーション-Webページなし_004

オートメーションの起動

電源を繋ぐとオートメーションが起動するので、通知をタップします。

iOSオートメーション-Webページなし_005

JavaScriptを実行してみる

実行画面から実行をタップします。

iOSオートメーション-Webページなし_006

Webページなしが出た…

オートメーションを実行できませんでした
"iPhoneが電源に接続したとき"でエラーが発生しました:Webページなし…

と出て実行できません…出ましたね。Webページなし。
以前も困らされたこのエラー…内容がアバウトすぎて意味不明です。

ショートカットアプリの時は"ショートカットの入力"を"SafariのWebページ"として渡してあげれば解決したので、シンプルなJavaScriptのコードにしてみたり、入力値が不要なJavaScriptにしたりしたのですが、いずれも解決しませんでした。

そもそもショートカットアプリのように"ショートカットの入力"が使用できません。
同じアプリなのになぜオートメーションではJavaScriptが実行出来ないのか…

スポンサーリンク

"WebページでJavaScriptを実行"はSafariから実行しないと使用できない

「Webページなし」の原因はWebページ(Safari)から値を受け取れていない時に出るエラーだと思ったので、変数なども使って"WebページでJavaScriptを実行"というアクションに値を渡したりもしてみたのですが、ことごとくダメでした。

そしてアプリ内で核心に迫る"メモ"を発見しました。

iOSオートメーション-Webページなし_007

該当アクションの補足情報

Web-Safariのアクション一覧にて、各アクションの横に!マークがあるのを発見。
今回問題となっている"WebページでJavaScriptを実行"の!マークを押してみます。

iOSオートメーション-Webページなし_008

メモの内容を確認

するとメモに以下のようにありました。

Safari Webページ項目は、ショートカットをSafariでアクション拡張機能として実行するときのみ使用できます。

このアクション拡張機能というのが"共有シート"なのだと思います。
(確信はないですが…それ以外考えられない…)

つまり"WebページでJavaScriptを実行"はSafariの共有シートから実行しないと動かない。という事になります。
え~!!こんな大事な内容がメモとは…

参考になるコメント

ここで、以前の記事にいただいていた別のコメントを思い出しました。

【ぼの】さんより
NFCタグを読み取った際のオートメーション登録で色々と調べている際にこちらにたどり着きました。
あるサイトへの自動ログイン等を試していたのですが、おかげさまで「Webページに対してJavaScriptを実行」は、記載されている通りSafariの共有メニューからでないと機能しないという答えにたどり着くことができました(オートメーションの選択肢に出てくるのでドツボにはまっていました笑)
ありがとうございましたmm

頂いたこちらのコメントが本記事の内容の全てかと思います。

オートメーションの選択肢に"WebページでJavaScriptを実行"というアクションが出るのに、このアクションはSafariの共有シートからしか使用できないということ…
(ぼのさんのコメントの意味がやっと理解できました←)

ということでオートメーションで"WebページでJavaScriptを実行"というアクションを使ってJavaScriptを自動的に実行することは現状出来ないようです。



まとめ

最後に公式サイトにはマジック変数とやらを使えばどうのこうのと書かれています。
が、これを使ってオートメーション化できるのかはまだテストしていません。

皆さんダメなようなので、基本は出来ないのでしょう…
何か良い案を知っておられる方は是非教えて下さい!

最後に、コメントをいただいた方にこの場(機会)をお借りしてお礼申し上げます。
コメントありがとうございました!

-スマホ
-

site-logo
ありがとうございました!
良かったらシェアしてネ・w・
当サイトはピンバックを受け付けます。
  • この記事を書いた人
ザキ

ザキ

X:@sologaku

プログラミングに興味があり情報系の大学を卒業。

新卒で社会人になるも数年で退職し今はフリーランスとして生きています。

少しでも誰かの役に立てれば...と思い、当サイトでIT関係のハウツーを発信しています。


ソロ学運営者:ザキの自己紹介

© 2020 sologaku