以下內容通過JSON提取Reddit內容並將其放置在相應的位置。我自己的迷你書籤。現在你可以看到URL從/ r/images中拉出。我希望能夠在輸入框中鍵入「buildapcsales」,並使用從/ r/buildapcsales reddit中抽取的腳本重新加載頁面的這一部分。Onclick更改腳本標記內的函數
我似乎無法找到一種方法來更改腳本的內容或任何其他解決方法。我試圖創建多個文件並將它們加載到on.click,但是不可能有一個腳本已經構建,以匹配某人在輸入框中輸入的每個可能的結果。
有沒有辦法編輯HTML on-page on.click的內容?或通過輸入框?我沒有發現通過我的在線研究證明這是可能的。
<script>
$.getJSON(
"https://www.reddit.com/r/images.json?jsonp=?",
function foo(data) {
$.each(
// iterate over 10 children, starting at the 0th index
data.data.children.slice(0,12),
function (i, post) {
// put data into the corresponding DIV
$('#news' + i + ' .redditTitle').append('<a href="https://www.reddit.com/' + post.data.permalink + '">' + post.data.title + '</a>');
$('#news' + i + ' .redditPermalink').append('<div class="info">expand_more</div>');
$('#news' + i + ' .redditUps').append(post.data.ups);
$('#news' + i + ' .redditDowns').append(post.data.downs);
$('#news' + i + ' .redditPost').append('<p>' + post.data.selftext_html + '</p>');
$('#news' + i + ' #subredditName').append('<p class="subredditName smalltext alignleft floatleft s-l-padding">r/' + post.data.subreddit + '</p>');
$('#news' + i + ' .redditThumbnail').append('<a href="' + post.data.url + '"><img src="' + post.data.thumbnail + '" class="floatleft image news hide">' + '</a>');
$('#news' + i + ' #redditUsername').append('<p class="smalltext p-color alignleft floatleft s-l-padding redditUsername">'
+ '<a href="https://www.reddit.com/user/' + post.data.author + '">' + post.data.author + '</a>' + '</p>');
//Decodes HTML into correct format
//Also replaces "null" post text with blank value
$('.redditPost').each(function(){
var $this = $(this);
var t = $this.text();
$this.html(t.replace('<','<').replace('>', '>'));
$this.html(t.replace('null','').replace('null', ''));
});
//Checks for "self" tagged images and replaces them with a default placeholder image
function changeSourceAll() {
var images = document.getElementsByTagName('img');
for (var i = 0; i < images.length; i++) {
if (images[i].src.indexOf('self') !== -1) {
images[i].src = images[i].src.replace("self", "/images/default.png");
}
}
for (var i = 0; i < images.length; i++) {
if (images[i].src.indexOf('default') !== -1) {
images[i].src = images[i].src.replace("self", "/images/default.png");
}
}
}
changeSourceAll();
}
)
}
).error(function() { alert("error"); })
感謝提前任何建議!
嗨布拉德,謝謝你的非常詳細的職位。這是非常有用的,我現在可以看到用戶輸入更改reddit URL的邏輯。一個簡單的問題: 我已經創建了一個名爲「subreddit」的輸入,如您的示例所示。我也在我的頁面上放置了我的