質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

TypeScript

TypeScriptは、マイクロソフトによって開発された フリーでオープンソースのプログラミング言語です。 TypeScriptは、JavaScriptの構文の拡張であるので、既存の JavaScriptのコードにわずかな修正を加えれば動作します。

Q&A

1回答

554閲覧

ブラウザ拡張機能からwebページが持つ機能を扱いたい

yutana

総合スコア0

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

TypeScript

TypeScriptは、マイクロソフトによって開発された フリーでオープンソースのプログラミング言語です。 TypeScriptは、JavaScriptの構文の拡張であるので、既存の JavaScriptのコードにわずかな修正を加えれば動作します。

0グッド

2クリップ

投稿2022/08/16 10:49

前提

CCFOLIAというwebサービスのchromeのブラウザ拡張機能を作成したいと考えています。
拡張機能側からチャットを、要素に内容を詰めてclickイベントを発生させるのではなく、チャット送信用の関数経由で送信したいのですがうまく関数を叩くことができません。

実現したいこと

関数として用意されている動作を拡張機能側で操作したい。
自身で調べることができる範囲では検索したのですが、どのようなワードで検索すればよいのかもあまり分からず、とっかかりがない状態です。
ヒントとなるワードレベルでも教えていただけますでしょうか。

発生している問題・エラーメッセージ

開発者モードで調べたところ、static/js/stores/modules/entities.room.messages/operations.tsのaddmessageがチャットの送信を担当しているらしいことは分かったのですが、addmessageを外部から参照する方法が分かりません。

試したこと

  • 個別にoperations.tsをimportしようとする

source mapが利用されているため?実体を見つけることができず参照することができませんでした

  • 何も考えずにaddmessageを呼び出す

not definedと言われてしまう

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

サーバーからローカルに読み込んで実行している状態のjsをリバースエンジニアリングしたうえ、ブラウザの拡張機能という外部環境から操作しようとするのは、ブラウザのセキュリティ上制限されていて難しいのではないでしょうか。
可能としても正攻法とは言えない気がします。

リバースエンジニアリングは、ココフォリアの利用規約で明確に禁止されています。
https://ccfolia.com/termsOfService.html

禁止事項
ユーザーは、本サービスの利用にあたり、以下の各号のいずれかに該当する行為または該当すると運営者が判断する行為をしてはなりません。
6. 本サービスに関連するシステムへの不正侵入、クラッキング、リバース・エンジニアリング、逆コンパイル、逆アセンブル等、本サービスを妨害する行為、またはそのおそれのある行為

pixiv FANBOXで開発支援できるようになっていることから、開発元もオープンな姿勢であることが伺えます。

正攻法で、開発元に連絡をとって拡張機能を開発してもらったり、拡張機能が利用できるようにAPIをオープン化してもらうように依頼するなどしたほうが早いのではないでしょうか。

投稿2022/08/16 23:39

編集2022/08/19 20:57
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yutana

2022/08/19 18:33

ご回答ありがとうございます。 回避策のご提示ありがとうございました。 残念ながら技術情報は特に購入可能となっておりません。 以前、開発機能を実装予定となっていたところ、なかなか実装されることがなく、急かしたり依頼するのもなと思い、自前で用意できればと思い質問させていただきました。
退会済みユーザー

退会済みユーザー

2022/08/19 20:58 編集

技術情報を購入できるという点は勘違いでした。すみません。いずれにしても開発元と直接連絡を取ってみた方がよいと思います。 公式ページによると、質問・要望の際の連絡先は下記です。(要ディスコードアカウント) http://discord.gg/jDfJmZS そもそも質問文に書いてある、addmessageという関数を拡張機能のような外部環境から参照し操作する、というのはできません。 アプローチとして、開発ツールを見る限りでは、チャット送信時に特定のエンドポイントにペイロードをPOSTしているようでが、このときstreamTokenというトークン等も一緒に付与して送信しています。このチャット送信に必要となるstreamTokenその他を自前で生成の上直接エンドポイントをたたけばもしかしたらできるかもしれませんが、この生成アルゴリズムを解析するのはリバースエンジニアリングでありココフォリアの利用規約に抵触します。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問