javascript
  • jquery
  • image
  • rss
  • feed
  • 2013-03-20 21 views 1 likes 
    1

    我在https協議上有一個站點,它通過ajax JSONP使用一個wordpress rss feed通過google load feed API,然後迭代通過返回的json對象來注入內容替換JSON編碼的feed值的圖像src協議http:用https:

    的問題是,所述內容節點具有HTML我想包括,例如圖像,招貼插入:

    "Title":"post title", 
        "Content":"<p><img src='http://theothersite.com'/> this is an example post</p>" 
    

    當我使用每個()通過JSON迭代中,內容的HTML被所附,並拋出瀏覽器不安全的內容警告,因爲圖像src是http協議

    $.each(json.responseData.feed.entries, function(arrayID, News) { 
    for(var i = 0; i < News.categories.length; i++) 
    { 
        html = '<li class="post news"><h3><a target="_blank" href="'+News.link+'">'+News.title+'</a></h3>'; 
        // HERES WHERE ATTENTION NEEDED 
        html +='<div class="excerpt">'+News.content+'</div></li><hr>'; 
    
    $("#newsList ul").append(html); 
    

    我找不出如何解析節點內容的價值SRC,並使用具有HTTPS作爲協議的新的src更換任何SRC,同時保留所有其他字符串數據

    我已經試過的比賽,這工作得很好,以獲得SRC到一個變量,但它沒有繩子的休息,所以當我更換它沒有保留的內容

    var iMatches = News.content.match(/src=\"(.+?)\"/igm); //alert(iMatches); 
        if (iMatches) { 
        News.content.replace(/src=\"http:(.+?)\"/igm, /src=\"https:(.+?)\"/igm);} 
    

    我也試過替換爲replace(的「http:」, 'https:')但是沒有工作要麼

    一如既往,任何幫助表示讚賞

    +0

    在我們開始之前......你是積極的,通過'http:// theothersite.com'將支持'https'? – 2013-03-20 17:46:31

    +0

    是的,100%和測試 – 2013-03-20 17:58:26

    +0

    '.replace'返回一個新的字符串,它不會修改原來的。你需要'News.content = News.content.replace(...)'https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/String/replace – 2013-03-20 18:00:30

    回答

    1

    String.replace方法不會更改原始字符串,而是返回一個新的字符串。考慮到這一點,你需要使用:

    News.content = News.content.replace(...); 
    

    https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/String/replace

    相關問題