javascript - 是否无法在 JavaScript 工作表中使用 <a href.. 等 HTML?

标签 javascript mailto window.open

我最近问了一个关于如何创建一个邮件共享按钮的问题,该按钮打开一个窗口,可以在其中输入电子邮件地址以发送到 ( How to Create a Mailto Share Button that Opens a Window in which Ones Can Enter Email Address to Send to ) 我得到了一个很棒的信息用户 Ron Royston 的回应,他建议,“您可以创建一个页面来获取电子邮件字符串,然后在服务器端对其执行任何您想要的操作。将弹出窗口/弹出窗口设置得较小,例如:

<a href="/my-email-collector-page"
   onclick="window.open(this.href,'targetWindow',
                                   'toolbar=no,
                                    location=no,
                                    status=no,
                                    menubar=no,
                                    scrollbars=yes,
                                    resizable=yes,
                                    width=200px,
                                    height=120px');
 return false;">email</a>"

这是一个很好的方法,但是,当我将此代码插入到包含我的其他社交媒体共享按钮代码的 JavaScript 工作表(在我的 CodePen 中: https://codepen.io/IDCoder/full/rpdBQJ/ )中时,此代码会禁用这些按钮的代码吗?我试图弄清楚为什么会这样......是因为使用了 <a href="........"></a>在 JavaScript 环境中?如果是这样,有没有办法将 Ron 的代码集成到包含点击功能的代码中,如下所示:

$('.无论类名').click(function() {

window.open();

});

本质上,始于window.open(this.href,'targetWindow',.... 如何将下面的代码插入:到上面的代码中?

window.open(this.href,'targetWindow',
                                       'toolbar=no,
                                        location=no,
                                        status=no,
                                        menubar=no,
                                        scrollbars=yes,
                                        resizable=yes,
                                        width=200px,
                                        height=120px');
     return false;

最佳答案

您可以设置 data-*属性位于 <button>指向您创建的 HTML 文档的元素

<button data-href="/path/to/html/document" id ="EM" type="button" class="Email share-page-on-Email">Email</button>

var emailWindowSettings = 'toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=200px,height=120px';

$("#EM").on("click", function() {
  var emailWindow = window.open(this.dataset.href,'targetWindow', emailWindowSettings);
  return false;
})

关于javascript - 是否无法在 JavaScript 工作表中使用 <a href.. 等 HTML?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48437326/

相关文章:

javascript - window.open 带标题

javascript - TinyMCE 只允许具有特定类的元素

iphone - 在 mailto : URL on an iPhone 中包含一个 HTML img 标签

javascript - 在滚动时在 javascript (window.open) 中打开一个窗口而不会被弹出窗口阻止程序阻止

javascript - window.closed = true,当窗口打开时如何?

javascript - 动态创建和 "click"与 jQuery 的链接

javascript - 更新javascript中的延迟函数

javascript - 发送 AJAX 请求 - 无法开始工作

javascript - 在 jQuery AJAX 成功中从 MySql 获取特定响应

javascript - 在 JS 中保留发送到 mailTo 的文本格式