HTMLElement.setAttribute("data",変更後data要素)
だとIEでうまくいかなかったので、
IEも対応する場合はObject要素自体のDOMをreplaceChild
で置き換えてやる必要がある。
/** * changeObjectData * objectタグの表示内容を更新する * * @param {object} element - 変更対象領域のエレメント * @param {string} data - 変更後のdata要素 * @return {boolean} true */ function changeObjectData(element,data){ //現在のObjectタグの内容を複製 var cln = element.cloneNode(true); //複製したもののdata要素を変更する cln.setAttribute("data",data); //自分自身をdata要素変更後のエレメントに置き換える element.parentNode.replaceChild(cln, element); return true; } // ex.利用例 changeObjectData(document.getElementById("hoge"),"pdf/fuga.pdf");