0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

[Pendo] クリックするとURLが開くバッジを実装してみた

Last updated at Posted at 2025-09-04

このバッジガイドはCode Blockを使用します。

Guide Code Blockとは

Pendoのガイドではビルディングブロックとして、Code Blockをガイド内に配置することができます。
Code Blockの中身はHTML/CSS/JSを自由記述でき、配置したガイドステップが表示されている間に実行されます。

Screenshot 2025-08-21 at 4.38.37 PM.png

HTML/CSS/JSはタブで切り替えられます。
Screenshot 2025-08-21 at 4.39.20 PM.png

バッジクリック時にURLを開くように設定

まずは新規ウィンドウでダミーページを開くコードをJavascriptタブ内に書いてみます。

window.open('https://example.com', '_blank');

バッジをクリックするとガイドが発火し、新しいウィンドウでexample.comが開きます。

・・・が

ezgif-3bbd75d3ec4fe5.gif

VDS起動時にコードブロック内の内容を更新したり、ページを再読み込みするたびにexample.comが開いてしまいます。

編集時にコードが起動しないようにif文を入れましょう。

if(!pendo.designerEnabled) {
    window.open('https://example.com', '_blank');
}

このpendo.designerEnabledでVDSが起動しているかを判定しています。
これでVDS起動していないときのみwindow.openが起動します。

挙動の確認

ezgif-8af842388ef678.gif

挙動に違和感を感じませんか?

そうなんです、空白のツールチップガイドが表示されたままになっています。

今回のバッジ→新規ウィンドウでページを開くという挙動を実装する際に、実際のガイドウィンドウを表示させる必要はありません。むしろ非表示にしたいですね。

ガイドが表示されないようにコードブロックに一文を加えましょう。

ガイド起動時にガイドをすぐ閉じるコマンド

以下一文でガイドの✗ボタンを押して閉じた時と同じ挙動になります。

pendo.onGuideDimissed();

コードブロック内のコードは挿入されているガイドステップが起動したときに自動でコードも実行されます。
上記コードを入れることによって、ガイドステップ起動と同時にガイドが閉じるという挙動になります。

API仕様書:
Guides | Pendo Agent API

もう一度挙動の確認

ezgif-85f51db0a4c0c7.gif

今度はちゃんとガイドが開いていない(起動後すぐに閉じる)ので、違和感はない挙動になったかと思います。

まとめ

  • バッジをクリックしたらURLに飛ばすためにはコードブロックを追加してJavascriptで処理する必要がある
  • コードブロック内にJSを書いた場合、編集時に永遠と実行されてしまうため、VDS起動時には起動しないif文を追加する必要がある
  • バッジをクリックすることでガイドが起動してしまうため、APIで強制的にガイドを閉じる必要がある

こちらが完成形のコードです:

if(!pendo.designerEnabled) {
    window.open('https://example.com', '_blank');
}
pendo.onGuideDismissed();
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?