2013-04-29 4 views
-1

Я пытаюсь построить html-файл для добавления и замены строки.javascript динамически добавлять относительный путь ко всем ссылкам

, например, если мой URL для файла CSS,

<link href="/srsstore/store/-1/common/components/cbsassets/styles/iPhone.css" type="text/css" rel="stylesheet" /> 

и URL для файла изображения,

<img src="/s/store/-1/ProductizedWidgets/transparent.png" width="1px" height="1px"/> 

Кроме того, для фонового изображения

<div style="background-color: #e45600;background-image: url(/s/store/4812610/no_preview.gif);background-repeat:repeat-x;font-weight:bold;font-family:Helvetica, Arial, sans-serif; font-size:12px;color:#FFFFFF></div> 

и я хочу добавьте «domain.com» к этим URL-адресам. Как выполнять поиск и замену строки динамически с помощью javascript.

Содержание получает от этого URL:

http://euroleagueiphone.mo2do.net/s/31653/Home?ebbLinkIndex=0&backTitle=Home&iPhoneMode=app&debugRender=true&appVersion=2.2&engineVersion=1.3

+2

Какой код вы старались? – Joseph

+0

На самом деле html-страница находится в формате XML, поэтому мне нужно разобрать и создать файл HTML – vishnu

ответ

0

Вы можете попробовать это:

window.onload = function() { 
    var domain = 'YOUR_DOMAIN'; 

    // For images   
    var imgs = document.getElementsByTagName("img"); 
    for (var i = 0; i < imgs.length; i++) { 
     imgs[i].setAttribute("src",domain + imgs[i].getAttribute("src")); 
    } 

    // For CSS files 
    var links = document.getElementsByTagName("link"); 
    for (var i = 0; i < imgs.length; i++) { 
     links[i].setAttribute("href",domain + links[i].getAttribute("href")); 
    } 
}; 

Edit:

Для divs добавьте следующий код к вышеперечисленному:

// For CSS files 
var styleProp = 'background-image'; 
var divs = document.getElementsByTagName("div"); 
for (var i = 0; i < divs.length; i++) { 
    if(divs[i].currentStyle) { 
     divs[i].style['styleProp'] = domain + divs[i].currentStyle[styleProp]; 
    } else if (window.getComputedStyle) { 
     divs[i].style['styleProp'] = domain + document.defaultView.getComputedStyle(divs[i],null) 
           .getPropertyValue(styleProp); 
    } 
} 

Вы можете получить справку Get Styles.

+0

А также содержит фоновое изображение,

+0

Есть ли у всех divs свойство 'background-image'? –

+0

не для всех divs – vishnu

0

Вы должны найти все коэффициенты а и IMG в вашем коде,, цикл через них, получить текущее значение атрибута (будь то ЦСИ или HREF), добавьте к нему свой домен, а затем установите значение атрибута. Я не проверял, но это общая идея:

var links = document.getElementsByTagName("a"); 
var images = document.getElementsByTagName("img"); 

for (i=0; i < links.length; i++) { 
    links[i].setAttribute("href","domain.com" + links[i].getAttribute("href")); 
} 

for (i=0; i < images.length; i++) { 
    images[i].setAttribute("src","domain.com" + images[i].getAttribute("src")); 
} 
+0

Привет, контент получается из этого URL-адреса: http://euroleagueiphone.mo2do.net/s/31653/Home?ebbLinkIndex= 0 & backTitle = Home & iPhoneMode = app & debugRender = true & appVersion = 2.2 & engineVersion = 1.3 – vishnu

0
$("img").each(function(){ 
    $e = $(this); 
    $e.attr("src","http://example.com" + $e.attr("src")); 
}) 

$("link").each(function(){ 
    $e = $(this); 
    $e.attr("href","http://example.com" + $e.attr("href")); 
}) 

Использование JQuery

Смежные вопросы