2017-02-11 46 views
0

新しいURLに(window.locationまたはwindow.replace)をリダイレクトし、そのページの読み込み時にjqueryを使用してそのページ(.print())を印刷します。jqueryを使用してページをリダイレクトして印刷する

私は

window.location.replace(url).print(); 

を試してみました。しかし、それだけでページをリダイレクトし、ページを印刷するwan't、 任意のアイデア?

+0

質問は、リダイレクト先のページのコードにアクセスできますか? –

+0

@Kinduserはいサイト全体のすべてのアクセスがあり、特定のボタンの特定のページにリダイレクトしたいだけです – Priyank

+0

@freshbmサポートに感謝しますが、あなたのコードはURLにリダイレクトされます。 – Priyank

答えて

1

を:

window.onload = function(){ 
    var wasRedirected = JSON.parse(localStorage.getItem('redirected')); 
    if (wasRedirected == true) { 
    window.print(); 
    localStorage.clear(); 
    } 
} 
+0

実行中ですが、これ以上使用することはできますか? 'window.location.open(url).print();'のように問題が発生すると、新しいタブで開く – Priyank

+0

@ Priyank57新しいタブでページを開きたいのですか?あるいは同じ窓で? –

+0

同じタブで、URLのリダイレクトに1つの余分なパラメータ(print)を渡すことでこれを行っています。 – Priyank

2

印刷するサイトのonload-functionにprint()を追加します。

window.location.replace(url) 

は、サイトに直接リダイレクトされます。したがってprint()は決して呼び出されません。

これが不可能な場合は、次のコードを使用することができます:

<body> 
<a href="yourPageThatYouWantRedirectTo.html" onclick='func()'>Click and redirect</a> 

<script> 
function func(){ 
    localStorage.setItem('redirected', true); 
} 
</script> 
</body> 

そして、あなたはにリダイレクトされ、あなたの別のファイル内の次のスクリプトを追加し、あなたの最初のファイルで

function printExternal(url) { 
    var printWindow = window.open(url, 'Print', 'left=200, top=200, width=950, height=500, toolbar=0, resizable=0'); 
    printWindow.addEventListener('load', function(){ 
     printWindow.print(); 
     printWindow.close(); 
    }, true); 
} 
+0

ページがこのページからリダイレクトされたときにのみページを印刷したいので、読み込み時にprint()を使用できません。 – Priyank

+0

ですので、2番目のコードブロックを使用してください;) – osanger

関連する問題