【问题标题】:How to transform PHP logic to open social media share in new window?如何转换 PHP 逻辑以在新窗口中打开社交媒体共享?
【发布时间】:2015-04-13 08:17:20
【问题描述】:

在我的 wordpress 博客主题的一部分中,帖子的社交媒体共享是动态生成的。我怎样才能让它在新窗口中打开?

我的一个静态 HTML 共享 <a> 在新窗口中打开的标签:

<a title='Share on Facebook' href='#' onclick="window.open('https://www.facebook.com/sharer/sharer.php?u=staging.example.org','mywindow','width=600,height=600');">
Share
</a>

我也想做的动态 PHP 示例:

if(themeple_post_meta(get_the_ID(), 'twitter_link') != '')
$output .= '<li class="twitter">
<a href="'.themeple_post_meta(get_the_ID(), 'twitter_link').'" title="Twitter"><i class="moon-twitter"></i></a>
</li>';

【问题讨论】:

  • _target="blank" 属性添加到您的 a 标记(如果我正确理解您的声明。)
  • @mudasobwa 冒着只能在新标签页中打开的风险。我正在尝试确保链接将在新窗口中打开(就像window.open 所做的那样)。

标签: php wordpress share social-media new-window


【解决方案1】:

假设 WordPress 尚未输出 JavaScript URL...只需将放入 href 标记的输出用javascript:window.open() 包装起来,如下所示:

if(themeple_post_meta(get_the_ID(), 'twitter_link') != '')
$output .= '<li class="twitter">
    <a href="javascript:window.open(\''.themeple_post_meta(get_the_ID(), 'twitter_link').'\');" title="Twitter"><i class="moon-twitter"></i></a>
    </li>';

【讨论】:

  • 看起来应该可以,但对我来说仍然只是在新标签中打开。
  • 那是您的浏览器滥用window.open,而不是JavaScript。一些浏览器被设置成新的windows在一个新的tab中打开,不管它是如何被调用的。
猜你喜欢
  • 2017-08-02
  • 1970-01-01
  • 2012-02-27
  • 2012-06-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多