3

私はGreasemonkeyとJQuerys#cssメソッドを使用してcssスタイルをページに追加しています。これまでのスクリプト:

// ==UserScript==
// @name           www.al-anon.dk Remove inline scroll so that page content prints properly
// @namespace      http://userscripts.org/users/103819
// @description    remove scroll from al-anon pages
// @include        http://al-anon.dk/*
// @require        http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js
// ==/UserScript==

$('#framen').css({'height': 'auto', width: 'auto'});
$('#menu').css({ 'display': 'none'});

今私の質問は、@ media printにのみ最後のルールを適用するにはどうすればよいですか?

言い換えれば、これがクリーンなCSSである場合、次の構文を使用します。

@media print {
  /* style sheet for print goes here */
}

しかし、Greasemonkey/JQueryでこれを実現する方法

4

2 に答える 2

3

代わりにスタイル要素を追加できます。

$('<style media="print">#menu {display: none;}</style>').appendTo('head');
于 2009-11-06T10:08:49.317 に答える
3
GM_addStyle('@media print { #menu { display:none; } }');

また、スクリプトを他のブラウザで実行したい場合。

/**
 * Define GM_addStyle function if one doesn't exist
 */
if( typeof GM_addStyle != 'function' )
function GM_addStyle(css)
{
    var style = document.createElement('style');
    style.innerHTML = css;
    style.type='text/css';
    document.getElementsByTagName('head')[0].appendChild(style);
}
于 2009-12-22T01:31:58.057 に答える