有沒有辦法改變 <script>
標籤內容的「當前工作目錄」?我的服務器上的目錄結構如下:內容的相對路徑<style>標籤
├── css
│ ├── flexigrid.css
│ └── images
│ ├── bg.gif
│ ├── ...
│ └── wbg.gif
└── js
└── flexigrid.js
3 directories, 21 files
所以,如果我只是在我的<head>
以下標記我會好起來的:
<link rel='stylesheet' type='text/css' href='/css/flexigrid.css' />
但我加載文件的內容,文本和將它們插入的 頭瓦特/ JavaScript的:
// 'css' is a string containing the text of flexigrid.css
var css_el = document.createElement('style');
css_el.type = 'text/css';
css_el.innerHTML = css;
document.getElementsByTagName('head')[0].appendChild(css_el);
其結果是,線像這樣在樣式表中:
background: #eee url(images/line.gif) repeat-y -1px top;
加載網址如/images/line.gif
而不是/css/images/line.gif
。有 一種方法來創建<style>
標籤使得url()
電話在 /css
目錄,而不是根目錄開始,而不必 搜索和替換在JavaScript?
啊,我錯過了最後一句話。是否有理由說您使用JavaScript來插入'style',但不想使用JavaScript來正確格式化/呈現插入的'樣式'? –
我正在加載樣式表w/javascript,因爲我想創建使用js/html/css但只包含一個'require()'類型調用的自包含插件。我正在處理一個龐大的代碼庫,我不知道每個css文件,如果我只是在css內容上使用'.replace()',我可以很容易地引入錯誤(例如,如果文件包含兩個路徑圖像/和圖像/一些其他插件/圖像/)。 – aaronstacy