-1

文字列の先頭に追加して置き換える html ファイルを作成しようとしています。

たとえば、css ファイルの URL が

<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>

これらの URL の先頭に「domain.com」を追加します。javascript を使用して文字列を動的に検索して置換するにはどうすればよいですか。

コンテンツは次の URL から取得しています。

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

4

3 に答える 3

0

コード内のすべての a と img を見つけてループし、現在の属性値 (src または 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"));
}
于 2013-04-29T07:11:46.640 に答える
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を使う

于 2013-04-29T07:12:11.583 に答える
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"));
    }
};

編集:

div の場合、上記に次のコードを追加します。

// 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からヘルプを取得できます。

于 2013-04-29T07:19:06.657 に答える