サーバーにcssファイルをロードしたので、URLを持っています。 JQueryを使用してPerlコードに読み込むにはどうすればよいですか?
だから現在、私はこのようなページから欠落している私のメイソンページのCSSをハードコーディングしています
JQ.onReady('show', function(){
JQ.addStyles({styles: ["\n\n.ap_classic { border-top:1px solid #ccc;border-left:1px solid #ccc;border-bottom:1px solid #2F2F1D; border-right:1px solid #2F2F1D;background-color:#EFEDD4;padding:3px; } .ap_classic .ap_titlebar { color:#86875D;font-size:12px;padding:0 0 3px 0;line-height:1em; } .ap_classic .ap_close { float:right; } .ap_classic .ap_content { clear:both;background-color:white;border:1px solid #ACA976;padding:8px;font-size:11px; } "]});
});
このCSSをハードコーディングしないようにしたいですか?
<link/>
セクションに<head/>
要素を挿入できない理由はわかりませんが、jQueryスニペットを次に示します。
$('head').append( $('<link rel="stylesheet" type="text/css" />').attr('href', 'your stylesheet url') );
繰り返しますが、 CSSスタイルシートの動的な読み込みはIEでは機能しません です。
Href属性を最後に設定する必要があるのは、リンク要素がヘッドに追加された後のみです。
$('<link>')
.appendTo('head')
.attr({
type: 'text/css',
rel: 'stylesheet',
href: '/css/your_css_file.css'
});
$(document).ready(function(){
console.log("ready!");
var e=$("<link>",{
rel:"stylesheet",
type:"text/css",
href:"/your/css/file.css"})[0];
e.onload=function(){
console.log("CSS IN IFRAME LOADED")},
document.getElementsByTagName("head")[0].
appendChild(e)});
言語とファイルの種類について一貫しているのが好きです(例:CSSとHTMLを混在させないでください)。したがって、style.cssファイルを作成し、jQueryを使用してタグにロードします。
index.html
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
</head>
<body>
<div>
<style id="import"></style>
<h2 class="red">this is red</h2>
</div>
<script type="text/javascript">
$( document ).ready(function() {
$( "#import" ).load( "./style.css" );
});
</script>
</body>
</html>
style.css
.red{
color: red;
}