function displayInfo(nKey) {
var i, xdata, xfilm, xprop;
if(!nKey) return false;
var objFilm;
var imgRef;
//iterate through all object properties; display their attributes
var jqxhr = $.getJSON('dbMovies.json', function(data) {
$.each(data.disc, function(i, xdata) {
if(xdata.key == nKey) {
objFilm = xdata.film;
imgRef = xdata.img;
if(xdata.doc) bkDoc = true;
return false;
}
}); // $.each
})
.done(function() {
// objFilm has either a single film object or else an array of film objects
var arInfo = [];
if(!$.isArray(objFilm)) {
var arProps = Object.keys(objFilm);....//absolutely
arProps.forEach(function(item) {
if(item != "ref") {
arInfo.push(item + ": " + objFilm[item] + "<br>");
} else {
arInfo.push(item + ": <a href=" + objFilm[item] + " target=_blank>Wikipedia</a>");
}
});
var w = window.open('', '', 'width = 650, height = 500, resizable');
$(w.document.body).html(arInfo.join(""));
}) // .done
我有一个我们称之为自助服务终端应用程序,其中包含存储在JSON文件中的电影库内容。可以通过多种方式访问内容,但每种方式都会显示所有相关标题。例如,用Sophia Loren搜索电影,人们会看到这样的结果:
所有浏览器都在这一点上工作。 你可以看到每部电影都有一个链接,可以提供有关电影的某些信息。 虽然据报道一个浏览器(Mac Safari)没有显示维基百科链接,但所有其他浏览器都显示。但只有Microsoft浏览器(Edge,IE11)显示相关的缩略图。因此(?),只有Microsoft浏览器通过在完整版本的映像上调用我的显示引擎来响应单击。所有浏览器都能更好地响应显示引擎的更直接调用。例如,请参阅[http://www.michaelbroschat.com/LongviewChristmas/LongviewChristmas.html]。 单击第一个插图中显示的索引编号链接后,动态创建信息窗口。
所有浏览器都成功创建了新窗口和大多数信息数据项。实际上,Chrome和Firefox似乎会创建图像显示代码,但不会对其进行操作。 整个应用都可以在http://www.michaelbroschat.com/film/disccatalog.html看到 我很想知道为什么Chrome和Firefox不允许微软浏览器允许的内容。
答案 0 :(得分:1)
您遗漏了问题代码的关键部分,即代码在图像引用周围创建<a>
标记。
您遇到的问题是,您正在将用于电影列表的已组合HTML填充到该弹出窗口中,该窗口在没有URL引用的情况下打开。您的<img>
代码是使用相对网址(例如“liners / i0001.jpg”)构建的,但由于没有基本网址供浏览器引用,因此无法加载图片。
Internet Explorer可能会做出一些推断,即弹出窗口与父窗口具有相同的基本URL,但其他浏览器显然不这样做。
答案 1 :(得分:0)
我对你的代码部分有一些理论:
............arProps.forEach(function(item) {
................if(item != "ref") {
....................arInfo.push(item + ": " + objFilm[item] + "<br>");
................} else {
....................arInfo.push(item + ": <a href=" + objFilm[item] + " target=_blank>Wikipedia</a>");
................}
............});
ONE:输出源时,请确保锚标记使用单引号或双引号,具体取决于您的偏好:
<a href="path/to/objFilm/item" target="_blank">Wikipedia</a>
我的猜测是,只有你的Safari版本存在维基百科链接的问题,它对引号很敏感。
就图像而言,输出图像路径的 img 标记在哪里?