$.ajax クロス ドメイン呼び出しを介して img html 要素の別のドメインから画像を読み込み、以下のコードでわかるように、画像の内容を含むポップアップを開きます。
var printWindow= "";
methodName = "CreateVisitor";
$.support.cors = true;
$.ajax({
type: "get",
url: visitorServiceUrl + methodName + "/" + tenantId + "/" + userId
+ "/" + visitorid + "/" + visitorname + "/" + visitormobilenumber
+ "/" + visitorcompanyid + "/" + visitorcompanyname + "/" + visiteeid,
dataType: "jsonp",
async: false,
cache: false,
crossDomain: true,
success: function (data) {
var imageUrl = "";
imageUrl = data ? siteImageUrl + data : 'image/NO_IMAGE.jpg';
$("#visitorcard").attr('src', imageUrl);
printWindow = window.open($("#visitorcard").attr('src'), "_blank", 'width=200,height=200');
// printWindow.onload = function () {
// printWindow.print();
// };
setTimeout(function () { printvisitorcard(); }, 1000);
},
error: function (xhr, type, exception) {
//alert("Error: " + xhr + " : " + exception + " : " + type);
}
});
次に、setTimeout() を使用して、このようにネットワーク プリンターに画像を自動的に印刷しようとします (同じドメインにいるかどうかはわかりません)。
function printvisitorcard() {
printWindow.print();
printWindow.close();
}
ただし、 Microsoft JScript ランタイム エラーが発生するたびに、アクセスが拒否されました。printWindow.print(); で ライン。JavaScript のクロス ドメインの問題は認識していますが、それでも画像を印刷したいと考えています。このエラーを解決するにはどうすればよいですか? どんな助けでも大歓迎です。
PS Firefox と Chrome はこのエラーをスローしませんが、画像も印刷しません。