2

我们有一个小的 javascript 片段,它作为我们的 ebay 项目描述的一部分运行。该片段需要 ebay item id

在测试中我发现有一个变量,ebayItemId,这似乎是合适的。但是,如果用户直接导航到项目页面(例如直接链接)而不先导航到其他 ebay 页面,则该变量不存在。

如何访问项目 ID,或者我应该从 DOM 中读取它?


详细说明一下ebayItemId变量。我通过打开一个新的私人浏览器并直接导航到该项目的页面进行了测试。有趣的是,只要该项目的页面不是要加载的第一个 ebay 页面,它就可以工作——即使是强制完全重新加载 (Ctrl-F5)。

4

2 回答 2

1

在新浏览器中打开的情况下失败的主要原因是 ebay 的奇怪行为,即呈现您访问的第一个项目页面的项目描述,而不是通过 iframe 而是直接在他们自己的 DOM 中未缓存。

在这种特殊情况下,这些 javascript 变量未预设,因此您无法访问它们。

一个小的解决方法是直接从项目页面本身读取项目编号/项目 ID(通过使用纯 javascript)。这不是一个简洁的解决方案,但应该可以工作。

例如,您可以这样做以涵盖两种情况:

var resolvedItemID = 
    typeof ebayItemID !== 'undefined' ? 
    ebayItemID : document.getElementById('descItemNumber') ? 
    document.getElementById('descItemNumber').innerText : null;

if(resolvedItemID) {
    ... your code ...
}
于 2016-03-19T00:39:33.280 回答
0

您使用的是经典的 Ebay API 吗?如果是这样,我认为您应该查看文档,您可以使用许多有趣的功能:

http://developer.ebay.com/DevZone/finding/CallRef/index.html

于 2014-05-23T01:55:55.253 回答