2

这是我的网站:http ://dkurf.esxsb.servertrust.com/ 我需要为此页面创建特定样式:http ://dkurf.esxsb.servertrust.com/ProductDetails.asp?ProductCode=dfhs 我没有可以访问该页面的 html,因此我需要覆盖整个站点仅针对该页面的样式。

这是托管我的电子商务商店的公司提供的一些 javascript(Volusion,ps 永远不要使用它们,它们是 CSS 的噩梦!)

<script type="text/javascript"> 
//<![CDATA[ 
if (location.pathname == "/ProductDetails.asp" || 
    location.pathname.indexOf("-p/") != -1 || 
    location.pathname.indexOf("_p/") != -1) 
    document
        .writeln("\n<style type='text/css'>.pricecolor{ background:#000; }</style>\n\n"); 
//]]> 
</script>

但是,如果有人有任何建议,那将是非常有帮助的!

谢谢!

4

1 回答 1

1

未经测试,但应该可以工作。如果没有<head>标签,理论上应该会失败。

var appendStyle= function(css){

    var code = document.createTextNode(css);
    var style = document.createElement('style');
    style.type='text/css';
    style.media='all';
    style.appendChild(code);
    document.getElementsByTagName('head')[0].appendChild(style);

};

(function(){
    var _ol = typeof(window.onload)==='function' ? window.onload : function(){};    
    window.onload = function(){ 
        _ol.apply(this,arguments);  
        if(window.location.href.indexOf('ProductDetails.asp?ProductCode=dfhs')!==-1) { try{
            appendStyle("\
                .pricecolor{ background:#000; }\
                body{ background:#f0f }\
            ");
            alert('new style appended successfully');
        }catch(e){ alert('error appending style: '+e) }};
    }; 

}());
于 2012-07-09T00:46:39.460 回答