javascript - 请求图像时不首先考虑 Iframe 中的基本元素
问题描述
我有一个 lib(epub.js),它为 epub 文件中的每个部分创建一个 iframe。这些 iframe 有一个基本元素,它应该更改发出请求的基本位置。
window.onload = function () {
var iframe = document.createElement("iframe");
iframe.onload = function(){
console.log("IT WORKED!!");
};
iframe.srcdoc="<html lang='en'><head><meta charset='UTF-8'><title>Title</title><base href='newBase/'></head><body><img src='img.gif' /></body></html>";
document.body.appendChild(iframe);
};
我还构建了一个 Git 存储库:https ://github.com/paschty/iframe_base_test
问题是浏览器忽略了基本元素并请求了一个不存在的图像。请求失败后,浏览器尝试使用来自基本元素的正确 URL,请求成功。
服务器说:
[Wed Aug 07 2019 10:50:15 GMT+0200 (CEST)] "GET /sub/img.gif" Error (404): "Not found"
[Wed Aug 07 2019 10:50:15 GMT+0200 (CEST)] "GET /sub/newBase/img.gif" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.87 Safari/537.36"
这发生在 Firefox 和 Chrome 中。
我希望浏览器不会尝试第一个请求!
解决方案
推荐阅读
- google-apps-script - Google 表格插件未更新
- google-bigquery - BigQuery 中的自加入问题
- qubole - 如何使用 PySpark 升级 Qubole 的 Jupyter Notebook 中的库?
- jenkins - 列出Jenkins存储库中特定目录中的所有文件
- c# - 我无法停止情节提要动画(C# 和 XAML)
- java - 如何使用 ImageView 作为 OnClick 事件删除 Listview 项
- recursion - 展平二叉树的时间复杂度
- mysql - MySQL + Grafana:对时间序列数据的慢查询
- node.js - 在 Heroku 上出错。无法启动 chrome
- r - 在数据框的单列中分解分类变量向量?