让 JS 在显示内容之前等到维基百科 API 重定向

Make JS wait until wikipedia API redirects before displaying contents

我正在使用以下代码将维基百科文章嵌入我的网站。

例如

https://en.wikipedia.org/wiki/B._21 -- B._21 不起作用

https://en.wikipedia.org/wiki/King_and_Charcoal_Burner -- King_and_Charcoal_Burner 有效。

我可以修改我的脚本以等待重定向完成,然后 returns 最后一页吗?

  var url_start =
    "https://en.wikipedia.org/w/api.php?action=parse&format=json&prop=text&page=";

  var url_middle = wiki_link_extract;

  var url_end = "&callback=?";

  var full_url = url_start + url_middle + url_end;

  $.ajax({
    type: "GET",
    url: full_url,
    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-content-main").html($(blurb).find("p"));
    },
    error: function (errorMessage) {},
  });

从此处的文档 https://www.mediawiki.org/w/api.php?action=help&modules=parse 您可以看到一个查询参数 redirects

你需要做https://en.wikipedia.org/w/api.php?action=parse&format=json&prop=text&redirects&page=B._21