我想做的基本上是一个div元素,其中包含维基百科文章的打印友好版本。我使用iframe来嵌入文章,虽然它可以工作,但我无法样式化文档。我猜这是因为iframe内容不在我的域上,我没有编辑权限。是否有一种方法在加载iframe后对内容应用CSS样式?
您可以使用AJAX通过自定义查询字符串参数调用维基API来实现此操作。
演示 http://jsfiddle.net/fm0vxg32/
JS
$(document).ready(function(){
$.ajax({
type: "GET",
url: "http://en.wikipedia.org/w/api.php?action=parse&format=json&prop=text§ion=0&page=Jimi_Hendrix&callback=?",
contentType: "application/json; charset=utf-8",
async: false,
dataType: "json",
success: function (data, textStatus, jqXHR) {
var markup = data.parse.text["*"];
var blurb = $('<div></div>').html(markup);
$('#article').html($(blurb).find('p'));
},
error: function (errorMessage) {
}
});
});
CSS
#article {
// custom styling
}
contentType: "application/json; charset=utf-8"
- 你没有进行POST或PUT请求,因此没有请求正文来描述内容类型。 async: false
在HTTP请求时阻止所有JS,99.99%的情况下,这是一个可怕的想法。 - Quentinasync: false
的用例。使用旋转器,在内容可用时淡入内容或通知用户发生了某些事情。除此之外,这是一个有用的答案。 - nietonfirsection=0
时,可以加载文章的不同段落。是否有一种方法可以加载整篇文章? - ifthisthenthatsection
参数即可。 - Bergi