クラスを削除して独自のクラスを追加することで、AddThis印刷ボタンの動作を変更することができました。コードは次のとおりです。
オリジナルのAddThisコード:
<!-- AddThis Peekaboo Toolbox : BEGIN -->
<div class="addthis_toolbox addthis_peekaboo_style
addthis_default_style addthis_label_style addthis_32x32_style">
<a class="addthis_button_more">Share</a>
<ul>
<li><a class="addthis_button_facebook"></a></li>
<li><a class="addthis_button_twitter"></a></li>
<li><a class="addthis_button_google_plusone_share"></a></li>
<li><a class="addthis_button_email"></a></li>
<li><a class="addthis_button_print"></a></li>
</ul>
</div>
<!-- AddThis Peekaboo Toolbox : END -->
<script type="text/javascript" src="https://s7.addthis.com/js/300/
addthis_widget.js"></script>
ページに表示されるこのコードを追加します。
<div class="addthis_toolbox addthis_peekaboo_style
addthis_default_style addthis_label_style addthis_32x32_style">
<!-- Omited code not relevant to print function. -->
<ul style="display: none;"> <!-- Changes to Display Block on Hover -->
<!-- Omited code not relevant to print function. -->
<li>
<a class="addthis_button_print at300b" title="Print" href="#">
<span class=" at300bs at15nc at15t_print"></span>
Print
</a>
</li>
</ul>
印刷機能を変更し、印刷プレビュープラグインを呼び出すようにコードを編集しました:
<div class="addthis_toolbox addthis_peekaboo_style
addthis_default_style addthis_label_style addthis_32x32_style">
<!-- Omited code not relevant to print function. -->
<ul style="display: none;"> <!-- Changes to Display Block on Hover -->
<!-- Omited code not relevant to print function. -->
<li>
<a class="print-preview at-print">
<span class="at-print-span"></span>
Print
</a>
</li>
</ul>
印刷を正しく表示するCSS:
.at-print {
padding: 0 2px;
float: left;
padding: 10px 20px !important;
text-decoration: none;
text-overflow: ellipsis;
white-space: nowrap;
}
.at-print-span {
background-position: 0 -576px !important;
background: url("//s7.addthis.com/static/r07/widget006_32x32_top.png")
no-repeat scroll left center transparent;
display: block;
height: 32px !important;
line-height: 32px !important;
overflow: hidden;
width: 32px !important;
float: left;
}
すべてのCSSが必要かどうかはわかりませんが、機能します。
重要な注意点:
これは、jQuery印刷プレビュー関数を呼び出すことができるように印刷ボタン機能を変更する方法です。ただし、AddThisスクリプトとPrint Preview Pluginを一緒に使用すると、エラーがスローされます。印刷プレビューを変更する必要があります。
44行目あたりで実行する必要があることは次のとおりです。次のコードが表示されます。
// The frame lives
for (var i=0; i < window.frames.length; i++) {
if (window.frames[i].name == "print-frame") {
var print_frame_ref = window.frames[i].document;
break;
}
}
上記のコードを次のように置き換えます。
print_frame_ref = print_frame[0].contentWindow.document;
問題が解決しました。