Firefoxの読み込みページに領収書ページを印刷したい
Firefoxは次のエラーを表示します。
getPreventDefault()
の使用は非推奨です。代わりにdefaultPreventedを使用してください。エラーソース行:
src.getPreventDefault && src.getPreventDefault() ) ? returnTrue : returnFalse;
NS_ERROR_NOT_AVAILABLE:コンポーネントがエラーコードを返しました:0x80040111(NS_ERROR_NOT_AVAILABLE)[nsIDOMWindow.print]エラーソース行:
print();
コード:
$(document).ready(function() {
print_doc();
$("#Submit").click(function() {
$("#goBack").hide();
$("#printRow").hide();
print();
$("#goBack").show();
$("#printRow").show();
});
});
function print_doc() {
$("#goBack").hide();
$("#printRow").hide();
print();
$("#goBack").show();
$("#printRow").show();
}
「goBack」および「printRow」idを表示する前に領収書を印刷したいが、機能しない
media type printで新しいcssを作成できます
<style media="print">
#goBack,#printRow {
display:none;
}
</style>
このコードを使用しました
print:
印刷ドキュメントを対象としています(印刷プレビューモードでも表示されるドキュメントに適用されます)。
Firefox & jQuery version from 1.6.4
より新しいバージョンに。
これはFirefoxのバグとしてFF11に登録され、その結果パッチが適用されました。
バグ#707677:getPreventDefault();非推奨
結局のところ、エラーメッセージは、コードとはまったく関係のないソースコードの行を指します。
最新のFFおよびjQueryでもこの警告が表示されます。心配する必要はありません。問題が発生する前にアップストリームで修正されます。
コードに関しては、これを試してください:
$(document).ready(function() {
$("#Submit").click(function() {
var btns = $('#goBack, #printRow');
btns.hide(function () {
window.print();
btns.show();
});
});
});
.hide()は非同期です。つまり、ブラウザが実行する前に次のコード行が実行される可能性があります。したがって、要素が非表示になる前に印刷している可能性があります。 .hide()のコールバック内に印刷を貼り付けることにより、印刷時に非表示になることが確実になります。
ただし、別のポスターで述べたように、CSSメディアタイプはおそらくこれを行うためのより良い方法です。
@media print {
#goBack, #printRow {
display: none;
}
}
最新バージョンのjsを置き換えて解決し、jqueryサイトにアクセスし、必要に応じて最新のjqueryに置き換えます。