繁体   English   中英

JSON文件并执行javascript

[英]JSON file and execute javascript

我有一个返回JSON dataPHP文件。 但我想执行一些javascript (Google Analytics(分析)代码)

这是我的代码:

<?php
   header('Content-Type: application/json');

   //GOOGLE ANALYTICS SCRIPT
   $js = "<script>(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
      (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
      m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
      })(window,document,'script','//www.google-analytics.com/analytics.js','ga');

      ga('create', 'UA-XXXXXXXX-3', 'loopse.com');
      ga('send', 'pageview');

     </script>";

   echo $js;

   //some code to get data
   echo json_encode($data); 
?>

没有js代码,一切都可以正常工作,但是我需要执行此js来跟踪我的应用程序的网络服务。

-

我通过直接使用php与POST请求一起使用Google Analytics(分析)找到了解决方案

Doc: https : //developers.google.com/analytics/devguides/collection/protocol/v1/devguide

为此,您需要将其注入页面。

当然,假设您要将这个特定的代码放入字符串“结果”中,则可以执行以下操作:

var sTag = document.CreateElement('script');
sTag.innerHTML = result;
document.getElementByTagName('head')[0].appendChild(sTag);

这样的事情应该为您工作。

当然,您可以将脚本标签从上面列出的字符串中拉出...否则,这将失败。

展开式

好的,您似乎在想,通过从PHP发送此消息,它应该可以在到达客户端时简单地神奇运行,而无需任何其他客户端更改。

情况永远不会如此。

当此“代码”到达客户端时,客户端会将其视为“字符串”……,因为这正是客户端的含义。

仅通过服务器端代码来处理此操作将不起作用。...接收网页必须配合执行代码。

在上面的代码中, 客户端将获取此数据,然后通过创建脚本元素并将其用于该脚本元素的innerHTML将其注入自身。

上面的代码示例应该是将代码发送到浏览器时客户端已经在查看的网页的一部分。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM