5

髪を引き裂きました!私はこれを機能させました、「私はこれのバージョンを保存しない余裕がある」と思いました、そして私は..「ビルド」を壊しました。

アラートは前に機能しますが、後は​​機能しないため、この線myImageData = context.getImageData(0, 0, canvas.width, canvas.height);はこれを壊しているようです。

画像自体が読み込まれています。

ありとあらゆる提案を歓迎しました^_^私はテザーの終わりにいます、そしてRSIがすぐに自分自身を蹴るのをやめるつもりです。

var myImageData;

var image_var = new Image();
image_var.onload  = function () {
    canvas.width  = image_var.width;
    canvas.height = image_var.height;
    context.drawImage(image_var, 0, 0, image_var.width, image_var.height);
    myImageData   = context.getImageData(0, 0, canvas.width, canvas.height);
    alert('');
}
image_var.src = "example1.jpeg";
4

2 に答える 2

6

以下のコードを実際のコードに追加して、firefoxローカルで作業できるようにします

netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");

実際に何をしますか?

スクリプトがこの関数を呼び出すときに、署名が有効であるか、コードベースプリンシパルが有効になっている場合は、拡張特権を付与できます。ユーザーが以前にこのプリンシパルにアクセスしたことがない場合は、署名されたコードを受け入れるかどうかをユーザーに尋ねるダイアログが表示されます。Communicator 4.xとは異なり、Mozillaは詳細なJava許可ダイアログを表示せず、プリンシパルを信頼できるかどうかを尋ねる単純なダイアログを表示します。ユーザーは、選択を受け入れるか拒否して、ブラウザーが自分の選択を記憶できるようにすることができます。2番目の例に示すように、一度に2つの特権が要求される場合があるため、1つのダイアログのみが表示されます。

特権は、要求している機能の範囲内でのみ付与されます。このスコープには、要求元の関数によって呼び出されるすべての関数が含まれます。スクリプトが要求元の関数を離れると、特権は適用されなくなります。

あなたはここでそれについてもっと読むことができます

これがデモです代替テキスト

于 2010-11-08T17:38:55.690 に答える
0

私は解決策を見つけまし-問題は、ドメイン名が関連付けられていないローカルファイル(つまり、私のコンピューター上)を読み取ろうとしていたことでした(この場合、ローカルIPはカウントされないようです)。オンラインコンテンツを持つ人々の利益のセキュリティを保護するために、W3C +ブラウザは、javascriptのホームであるサーバーの外部に保存されたファイルでgetImageData()が機能しないようにしました。

残念ながら、ローカルファイルはドメインレスとして扱われるため、明らかにセキュリティ制限が適用されます。私はこの問題を克服する方法を探しています(現時点でHTML5のappCacheとwebsqlを見ると、実を結ぶ場合とそうでない場合があります)。Webアプリのユーザーは、作業中の資料をアップロードする必要がないようにしたいと思います(オフラインで作業できるようにするため、およびセキュリティ上の理由から)。どんな提案も歓迎します!

于 2010-11-08T14:37:42.483 に答える