問題タブ [brave-browser]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - canvas.toDataURL が Brave Shield のクロスサイト デバイス認識によってブロックされました
現在、サイズ変更後にファイルをアップロードするために使用される webapp に取り組んでいます。に取り組んでいるときlocalhost:3000
、サイズ変更プロセスは魅力のように機能しますが192.168.0.5:3000
、たとえば (または別のドメイン) に取り組んでいるとき、canvas.toDataURL は base64 ではなく空の文字列を返し、サイズ変更は決して終了しません。この問題は、勇敢な盾が有効になっている場合にのみ発生し、ブロックされた要素の背後にある理由はcross site device-recognition
.
localhost を使用していないときに、キャンバスがブラウザにアップロードしている画像のサイズを変更し、dataURL と Blob を取得できるようにするにはどうすればよいですか?
アイデアは、入力からファイルを取得し、Canva を介して 16MP にサイズ変更し、このキャンバスの BLOB を取得してバックエンドに送信することです。このファイルを取得するためにPictureCompress
ファイルを読み取る関数があります。その後、 を作成してリーダー(b64) に設定し、Canvas を作成して 経由で画像のサイズを変更し、新しい base64 を取得してからblob を取得することになっています。
このプロセスは、Web アプリケーションをローカルで実行すると完全に機能しますが、マシン IP にアクセスするように URL を変更すると (ドメイン名でも同じであると予想されます)、機能しなくなります。たとえば、このコードのライブ バージョンがあり、問題が発生しているようです。new FileReader()
base64
new Image()
src
event.target.result
onload
ctx.drawImage
canvas.toDataURL
CodeBox
編集 :
- この問題は、URL にポートがある場合にのみ発生します (
192.168.0.5:3000
は機能していませんが、機能し192.168.0.5
ています)。なんで ? - Firefox では、上記の修正は機能しません:
Blocked http://192.168.0.13/ from extracting canvas data because no user input was detected.
. https ではないからでしょうか?つづく ...
ご協力ありがとうございました !
python - Selenium と Brave を一緒に使用できますか?
最近、WebブラウザをBraveに変更しましたが、chromedriverを使用していくつかのタスクを自動化していました
いくつか読んだところ、ChromeDriver と Brave のバージョンが一致する必要があると書かれているこの投稿が見つかりましたが、 ChromeDriver 80.0.3987.106のみの現在のバージョンのドライバーが見つかりません。
これは私の勇敢な情報です: バージョン 1.4.96 Chromium: 80.0.3987.132 (公式ビルド) (64 ビット)。