使用 PHP 脚本仅在主页上执行 JS <script> 标记

Use a PHP script to execute a JS <script> tag on the homepage only

我正在尝试在 PHP 中创建一个声明,使调查猴子弹出窗口出现在网站的主页上,而不是其他页面上。

我已经尝试了下面的代码和它的不同变体来尝试让它工作。我可以通过将元素放入网站的 中来将弹出窗口添加到整个网站,但是当我试图让它只出现在主页上时,什么也没有显示。

我试过只使用一个 'echo' 而不是将其分成三个,并且还使用 /index.php 而不是 /.

<?php
if ($_SERVER["SCRIPT_NAME"] == '/') { 
  echo '<script>';
  echo '(function(t,e,s,o){var n,a,c;t.SMCX=t.SMCX||[],e.getElementById(o)||(n=e.getElementsByTagName(s),a=n[n.length-1],c=e.createElement(s),c.type="text/javascript",c.async=!0,c.id=o,c.src=["https:"===location.protocol?"https://":"http://","widget.surveymonkey.com/collect/website/js/tRaiETqnLgj758hTBazgd_2Fw5nxAtNDAAqLsYqzVv_2FShi5yryjY3psD6EYInvUCYX.js"].join(""),a.parentNode.insertBefore(c,a))})(window,document,"script","smcx-sdk");';
  echo '</script>';
 }

?>

我在这里发现了一些类似的问题,但 none 非常适合我的情况,我也尝试了他们的一些答案推荐,但它们似乎不起作用。

任何帮助将不胜感激,我觉得这很简单,我只是把事情复杂化了。希望我已经为大家提供了足够的信息!

PHP 解决办法:

$active_location = $_SERVER['HTTP_HOST'].$_SERVER["REQUEST_URI"]; 
$host_name = $_SERVER['HTTP_HOST']; 
if ($active_location == $host_name || $active_location == $host_name.'/'){
//stuff you want to do
}

$active_location 将 return 当前完整 url 没有 ssl 服务 $host_name 将给出没有 ssl 的主机名。如果它们相同,代码将 运行.

OR (||) 语句是因为在某些情况下主页会有一个 / 而你看不到它,如果你不放置语句代码将不会 运行是一些情况。