PHP 点击打开新标签页的语法

PHP syntax for opening a new tab on click

我需要在某处添加 target="_blank" 属性 以便在单击徽标时它们会在新选项卡中打开。

我在一个网站上工作,该网站使用以下 PHP 代码来引用徽标中的链接:

<?php if($cta): ?>
    <div class="product-logos-container">
        <?php foreach($cta as $_cta): ?>
            <span class="card" <?php if($_cta['banner_link']): ?>onclick="window.location.href='<?php echo $_cta['banner_link'] ?>'"<?php endif ?>>
                <span class="detail" style="opacity: 0;">
                    <span class="inner"><?php echo $_cta['banner_title'] ?></span>
                </span>
                <img src="/clear_cta/<?php echo $_cta['banner_filename'] ?>" alt="<?php echo $_cta['banner_title'] ?>" class="image"/>
            ......

现在我相当确定我需要将 target="_blank" 添加到第 4 行。我不确定哪种语法适合它,在做了一些研究后我开始认为 window.location 可能是问题所在。如果是这样,请提供一个替代代码,当在新选项卡中单击时,该代码将打开链接。

只有我们可以使用target="_blank" inside anchor tags() 来告诉浏览器应该加载链接文档的位置。

试试这个

1

<span>
    <a href="portfolio.html" target="_blank">See my portfolio</a>
</span>

2

 <a target = '_blank' href=view_rfp_detail.php?sna=$sna >$sna</a>

在您的情况下,这更像是一个 JavaSript 问题。重要的部分是

window.location.href=something

从 JavaScript 打开新的 window 或标签页非常复杂。这是臭名昭著的弹出窗口。浏览器很久以前就开始默认屏蔽了。

你可以尝试重写这部分

<span class="card" <?php if($_cta['banner_link']): ?>onclick="window.location.href='<?php echo $_cta['banner_link'] ?>'"<?php endif ?>>?>onclick="window.location.href='<?php echo $_cta['banner_link'] ?>'"<?php endif ?>>

变成类似

的东西
<a class="card" <?php if($_cta['banner_link']): ?>href="<?php echo $_cta['banner_link'] ?>" target="_blank"<?php endif ?>>

并更改结束标记。

使用window.open代替window.location

window.open('<?php echo $_cta['banner_link'] ?>',
'_blank' // <- This is what makes it open in a new window.
);