私はeBayJavaScriptFindingAPIを使用しています。オブジェクトの通貨IDメンバーはfindItemsAdvancedResponse
として定義され@currencyId
ます。したがって、この値を次のように取得しています。
function _cb_findItemsAdvanced(root) {
var items = root.findItemsAdvancedResponse[0].searchResult[0].item || [];
var html = [];
if (items.length == 0) {
html.push('No Results');
}
for (var i = 0; i < items.length; ++i) {
var item = items[i];
var title = item.title;
var pic = item.galleryURL;
var viewitem = item.viewItemURL;
var price = Number(item.sellingStatus[0].currentPrice[0].`__value__`).toFixed(2);
var currency = ""
var currency = item.sellingStatus[0].currentPrice[0].@currencyId;
if (null != title && null != viewitem) {
html.push('<div class="item-layout5"><table><tr><td><div style="width:102px;overflow:hidden;">');
html.push('<a href="' + viewitem + '" target="_blank" rel="nofollow"><img src="' + pic + '" border= "" alt="' + title + '" /></a></div></td>');
html.push('<td><span class="itemname"><a href="' + viewitem + '">' + title + '</a></span></td></tr>');
html.push('<tr><td><img src="PTMFOG0000000064.gif" alt="" /></td><td><span class="buyprice">' + currency + ' $' + price + '</span></td></tr></table></div>');
}
}
document.getElementById("results").innerHTML = html.join("");
} // End _cb_findItemsByKeywords() function
これはFirefoxブラウザーでは正常に機能しますが、Google ChromeまたはIEでは機能しません(コンパイルエラーが発生します)。
メンバー名に@記号を使用することは、JavaScriptで受け入れられますか?そして、上記のコードがすべてのブラウザで機能するように、どのような回避策を使用できますか?
ありがとう