大家好,我想使用document.write內的getJSON
你不能(不能合理*)的超鏈接的圖像。 document.write
只在頁面的初始解析期間起作用。如果在頁面加載完成後使用它,它將完全替換該頁面。
相反,與DOM進行交互。幾種方法可以做到這一點,但根據您的代碼最明顯的就是有錨最初隱藏,然後在文本區域填充這樣以後表現出來:
$("#ok").show();
完整的例子:Live Copy | Live Source
(我已經改變了playicon.jpg到您的gravatar,否則它顯示爲上JSBin一個破碎的形象)
<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<meta charset=utf-8 />
<title>JS Bin</title>
</head>
<body>
<form name="myform">
<textarea name="outputtext"></textarea>
</form>
<a id="ok" style="display: none" href="http://www.mysite.com/master.m3u8?+siteContents+"><img src="http://www.gravatar.com/avatar/f69cfb4677f123381231f97ea1138f8a?s=32&d=identicon&r=PG"></a>
<script>
(function($) {
$.getJSON('http://anyorigin.com/get?url=http://www.somesite.com/handelit.ashx&callback=?', function(data){
var siteContents = data.contents;
//writes to textarea
document.myform.outputtext.value = siteContents;
// shows the link
$("#ok").show();
});
})(jQuery);
</script>
</body>
</html>
* 「不能合理」:IF您的內容來自與文檔相同的來源(它看起來不像),您可以通過同步ajax調用完成此操作。但那會是非常糟糕的設計。
你有控制檯的任何錯誤?一個404將回調實際上從來沒有調用 – Brewal 2013-05-06 08:07:57
我建議花費從頭到尾閱讀[jQuery API文檔](http://api.jquery.com)一個小時。它實際上只需要一個小時,它會告訴你如何做基本的事情,比如頁面加載後與DOM進行交互。 – 2013-05-06 08:15:53