Spaの戻るボタンについてお聞きしたいです

bubbleでシングルページでアプリを作った際戻るボタンがなくて不便です。

SPAでもブラウザ上で前のページに戻る、など可能なのでしょうか?

また、URLを任意なものにする方法もあれば教えて頂きたいです。

1 Like

戻るボタンを作る方法は知りませんが、SPAで作る場合は自分で戻るボタンを作ってます。

go to page でパラメーターをつければ任意のURLにできるような気がしますけど…
自分では試したことないです。

ずいぶん、時間が経ってしまいましたが、プラグインのToolBoxのJavascriptToBubbleが必要になってくるかと思います。早くbubble側で対応してほしい機能の一つですね。

ちなみに、Javascriptだと以下のようになります。

window.addEventListener(‘popstate’, function() {
bubble_fn_backButton();
});

これでワークフローを組めるようになるので、バックボタンが押されたときに、go to page が使えるようになるという感じです。URLを変える一つの方法は以下のようにパラメーターを加えることで実現できます。
スクリーンショット 2021-11-28 17.27.21

アカウントがログインできなくなったのですが、質問者です。

具体的なコードなどありがとうございます!
こちらブラウザバックなどでcostom stateをsetすることは可能でしょう?

現在pageのcostom stateにback とgoという形で1ページ前のcostom stateの値を保存している状態です。

それをボタンを表示させてやっていますが、ToolBoxで最初のブラウザバックでcostom stateを切り替えるのは可能でしょうか?

ご教授ありがとうございます!
現在私も戻るボタンをつけております。

それだとなかなかユーザーにとって親切ではないですよね…

できますよ。Javascriptで書き示しているのは「ブラウザのバックボタンが押されたらbubble_fn_backButtonを呼び出して」という単機能です。その先はJavascriptToBubbleという名前が示す通り、bubbleのワークフローで指定するということです。

丁寧な説明ありがとうございます。

これの実装に当たってもう2点お聞きしたいことがあります。

①バックエンドワークフローで実装しているのか?when JS backButton event and G Main7s view is main はどちらから制作できるのか?

②ワークフローとしてはステップ1でtool boxのrun javascriptでご提示していただいたコードを入力、ステップ2でやりたいワークフローを実装の認識で合っていますでしょうか?

③スクショのjs back buttonはどう実装しているのか?


JavascriptToBubbleの基本的な使い方を流れで説明します。

  1. JavascriptToBubbleをページの階層または使用したいグループ内に置きます。ブラウザバックで使用したいので、いつでもアクセスしたいのでページの階層に置きます。
  2. プラグインのメニューを以下のように書き込む。bubble_fn_suffixがファンクションとして呼び出されます。

    3.HTMLエレメント内に<script>ここにコード</script>というルールで2.のファンクション記述する
  3. Workflowで以下のメニューから3.を選択

スクリーンショット 2021-12-07 20.47.02

あとはワークフローを作っていきます。
Javascriptを少し勉強しておけば、基本的にbubbleが未対応の機能も自分で実装できるようになります。上記の流れはHTMLを知らなくてもできますが、すぐにHTMLも少しは知っておいたほうが色々と楽に理解がすすみます。

そもそもtoolboxの使い方がわからずトンチンカンな質問になってましたね…
ご丁寧にありがとうございます。

手順通りにやりましたが、なかなかうまくいかず…
間違ってそうな箇所ありますでしょうか?

pageのレイヤーにhtmlエレメントとJS to bubbleを置いております。

まずJStoBubbleがコールされているのかを先に確かめてください。
例えば、何か適当にエレメントを置いてみて、バックボタンを押したときに、そのエレメントをShow/Hideするワークフローを組んでみます。それが動作していれば、JStoBuubleとHTMLのscriptは問題ないことがわかります。

それが動作していないとなると、今度はHTMLのscriptがちゃんと読み込まれているか…
問題の切り分けをして上手く解決に結びつけてください。

あとはbubbleのDebuggerでもワークフローが動いているか確認できますが、ローコードでアプリを運用するとなるといずれChrome DevToolsのConsoleを使えると便利です。