私は以下のコードを持っています
<a href="" onclick="window.open((window.pageViewer && pageViewer.link || function(link){return link;})(this.href + (this.href.indexOf('?')>=0 ? '&' : '?') + 'url=' + escape(document.location.href)), 'Chat000', 'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=1,width=640,height=480');return false;">
JavaScript / DOM要素で同じことを実装する必要があります。HTMLを直接書くことは許可されていません。だから私はを利用する必要があるかもしれませんdocument.createElement
。
以下のように使用できますか?
var a = document.createElement("a");
a.setAttribute('onclick',"window.open((window.pageViewer && pageViewer.link || function(link){return link;})(this.href + (this.href.indexOf('?')>=0 ? '&' : '?') + 'url=' + escape(document.location.href)), 'Chat000', 'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=1,width=640,height=480');return false;");
このコードは機能しますか?そうでない場合、それを行う方法は?
コードは特定のブラウザで機能しますが、すべてのブラウザで機能するわけではありません。たとえば、IEの一部のバージョンでは、「属性」が「プロパティ」に適切にバインドされていません。したがって、サポートするブラウザによってはsetAttribute
、クリックリスナーが実際に設定されない可能性があります。だからこそ、より広い互換性を持つjavascriptによって設定されるのが最善の方法です。
var a = document.createElement("a");
a.onclick = function(event) {
window.open(/*.. your params **/);
return false;
}
これは基本的に、onclick
属性を設定したときに発生することです。ブラウザが属性を適切にバインドしている場合、機能の観点からはまったく同じです。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加