こんにちは私はIEを除くすべてのブラウザで完全に機能しているjoomlaサイトを持っています。
IEで表示すると、CSSの多くが認識されていないようです。開発者ツールを使用してhtmlとcssを表示すると、他のブラウザーと比較して多くの異なるコードがあります。たとえば、div
と呼ばれる追加のIDのヒープがありますslick-unique
。これらは他のブラウザでは表示されません。IE用にこれらのIDを作成しているプラグインがあるかどうか疑問に思います。私はそれを見つけることができませんでした
HTML構造でさえ異なって見えます。IEでdivs
呼び出されますが、他のブラウザでは呼び出されません。rt-hidden
IEのみのスタイルシートを使用しており、位置を上書きまたは修正しようとしていますが、サイトを変更することはありません。
IEのdivに添付されているこのコードもあります
function(b,g){var h=Element.Constructors[b];if(h){return h(g);}if(typeof b!="string"){return document.id(b).set(g);}if(!g){g={};}if(!(/^[\w-]+$/).test(b)){var e=Slick.parse(b).expressions[0][0];
b=(e.tag=="*")?"div":e.tag;if(e.id&&g.id==null){g.id=e.id;}var d=e.attributes;if(d){for(var a,f=0,c=d.length;f<c;f++){a=d[f];if(g[a.key]!=null){continue;
}if(a.value!=null&&a.operator=="="){g[a.key]=a.value;}else{if(!a.value&&!a.operator){g[a.key]=true;}}}}if(e.classList&&g["class"]==null){g["class"]=e.classList.join(" ");
}}return document.newElement(b,g);}
何か案は?
テンプレートのindex.phpにあるこのコードに絞り込みました。
<?php
$browser = $gantry->browser;
$gantry->displayHead();
$gantry->addStyles(array('template.css','joomla.css','overlays.css'));
if ($gantry->get('fixedheader') && $gantry->get('menu-type') != 'splicemenu') $gantry->addScript('rt-fixedheader.js');
if ($browser->platform != 'iphone')
$gantry->addInlineScript('window.addEvent("domready", function(){ new SmoothScroll(); });');
// if ($gantry->get('loadtransition') && isBrowserCapable()){
// $gantry->addScript('load-transition.js');
// $hidden = ' class="rt-hidden"';
// } else {
// $hidden = '';
// }
?>
そのコードを削除してページを更新すると、ページが読み込まれ、CSSは明らかに表示されません。次に、上記のコードを元に戻してページを更新すると、このページを更新してもページは正常に機能します。しかし、別のページにアクセスしようとすると、キャッシュをダンプして更新した後でも、すべての余分なdivと上記の関数コードが戻ってきます。したがって、javascriptで何らかのキャッシュが発生しているようです。
また、すべてのプラグインをオフにしてみましたが、うまくいきませんでした。