我在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:')但是沒有工作要麼
一如既往,任何幫助表示讚賞
在我們開始之前......你是積極的,通過'http:// theothersite.com'將支持'https'? – 2013-03-20 17:46:31
是的,100%和測試 – 2013-03-20 17:58:26
'.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