有没有办法为特定网站启用/禁用特定的JS脚本执行?

时间:2016-01-21 21:48:30

标签: javascript

如果我在几个不同的网站上有JS脚本,是否可以启用或禁用特定网站的脚本执行?如果这是不可能的,欢迎提出其他实施建议。

这是申请表: 我有一个带有我的JS源链接的脚本标记,网站所有者可以将其放在他们的网站上以启用与我的服务的交互。但是,我希望能够为特定站点启用/禁用该服务,以便在它们准备好之前不进行部署。

注意:脚本标记还包含站点验证信息,以便在准备部署之前将其放置在其站点上。这节省了放入站点验证标记然后返回并放入脚本的步骤。

1 个答案:

答案 0 :(得分:0)

您希望他们将您的.ashx处理程序放在您的网站上,然后返回javascript。

如果您不确定如何http://www.brainbell.com/tutorials/ASP/Generic_Handlers_(ASHX_Files).html

,请关注ashx页面的教程 processrequest()函数中的

  • 检查是否已启用它,您可以使用查询字符串查看下面的代码?yourwebsitedomain=customersdomain中的https://msdn.microsoft.com/en-us/library/system.web.httprequest.querystring(v=vs.110).aspx哪个网站,因此您将查询"yourwebsitedomain"并且您得到"customersdomain"
  • 如果他们这样做,那么使用Encoding.UTF8.GetBytes(File.ReadAllText(filename))
  • 获取文件的字节数
  • 并将结果写入输出

    context.Response.OutputStream.Write(FileBytes, 0, FileBytes.Length);
    context.Response.OutputStream.Flush();
    

您的客户网站:

<script>
  (function() {
    var c = document.createElement('script');
    c.type = 'text/javascript'; c.async = true;
    c.src = "http://yourdomane/yourhandler.ashx?yourwebsitedomain=customersdomain";
    var s = document.getElementsByTagName('script')[0];
    s.parentNode.insertBefore(c,s);
  })();
</script>

希望这会有所帮助。