2

我的网站上(密码是“WS”,不带引号)我用插件(UberGrid)创建了一个网格。

为了使每个单元格成为弹出窗口,我在此 Wordpress 页面中添加了以下代码:

<script type="text/javascript">
function popWin(url)
{
    var thePopCode = window.open(url,'','height=800, width=1000, top=500, left=200, scrollable=yes, menubar=yes, resizable=yes');
    if (window.focus) 
    {
        thePopCode.focus();
    }
}
</script>

在插件内部(在 Debra Porter 单元内),我添加了以下链接:

javascript: onclick=popWin('http://www.weybridgestrategies.com/team/debra-porter-president-ceo'); return (false);

它在 Google Chrome 中运行良好,但在 Firefox 或 Safari 中没有结果。

4

2 回答 2

1

看看生成了什么 HTML:

<a class="uber-grid-hover" href="onclick=popWin(&#039;http://www.weybridgestrategies.com/team/debra-porter-president-ceo&#039;); return (false);"  >

它应该是什么样子:

<a class="uber-grid-hover" href="http://www.weybridgestrategies.com/team/debra-porter-president-ceo"
   onclick="popWin('http://www.weybridgestrategies.com/team/debra-porter-president-ceo'); return false;">

所以你的 popWin 函数已经可以了,但是你需要证明锚的属性hrefonclick. onclick是 javaScript,所以你不需要 javaScript 前缀,也不需要 inline onclick=,因为这会创建一个全局变量。return false如果 javascript 可用,这将阻止浏览器遵循 href。至少在 IE 中使用this.href它不会做你所期望的,因为这是在 IE 中的事件,而不是锚。

编辑:实际上,从 Firefox Aurora v24 开始,您的 TestLink 会按照您的意图进行,而不会阻止弹出窗口。

但我必须遵循布莱恩的评论,你的新窗口可能被认为是一个弹出窗口,所以如果你这样做window.open(url, '_blank')或只是使用它会是最好的<a target="_blank" href="...">- 并寻找一个不会加载新页面的 javaScript“弹出窗口”,但看起来更多 HTML5ish,例如使用 jQuery UI 或尝试您自己的 jS(这将是一个更大问题的另一个答案......;))

更新:释放已经包含的 jQuery 的好主意,让我们说 javaScript:

<script type="text/javascript">
function popWin(url)
{
  var thePopCode = window.open(url,'','height=800, width=1000, top=500, left=200,scrollable=yes, menubar=yes, resizable=yes');
  if (window.focus) {
    thePopCode.focus();
  }
}

jQuery(document).ready(function ($) {
    // here is your HTML DOM ready

    // create an onclick event for every a.uber-grid-hover
    $("a.uber-grid-hover").click(function (event) {

        event.preventDefault(); // this is "like" return false

        // this get's the href from your anchor, using jQuery sugar
        var url = $(this).attr("href");

        // call your fun
        popWin(url);

    });

});

</script>

使用此脚本,您应该不再需要onclick为每个锚点创建属性。只需将其放入您的 wordpress 源代码中,它应该可以正常工作。

现在只需<a>使用 using class="uber-grid-hover",这是必需的,以便 jQuery 可以轻松地选择悬停,然后您需要href并且您也可以包含target="_blank",以便非 javascript 用户也可以在新窗口中拥有页面。

<a class="uber-grid-hover" target="_blank"
   href="http://www.weybridgestrategies.com/team/debra-porter-president-ceo">
于 2013-07-16T01:32:05.747 回答
0

试试这个代码:

function popwin(url) {
window.open('', url, 'height=800, width=1000, top=500, left=200, scrollable=yes, menubar=yes, resizable=yes');
url.target =url;
}

对于链接,使用相同的代码

javascript: onclick=popWin('http://www.weybridgestrategies.com/team/debra-porter-president-ceo'); return (false);
于 2013-07-16T01:19:20.197 回答