【问题标题】:Fire event on Sitecore Media Library Item downlaodSitecore 媒体库上的火灾事件 项目下载
【发布时间】:2014-05-07 16:16:15
【问题描述】:

基本上,当有人使用网站外部的链接访问/下载 PDF 项目时,我想触发一些 JavaScript 事件/脚本。此 PDF 存储在 Sitecore 媒体库中。

示例 -

假设我有一个名为 www.xyz.com 的基于 Sitecore 的网站,其中我有一个 PDF 文件存储在 Sitecore 媒体库中,可以通过 URL 访问 - www.xyz.com/pdf1.ashx 或www.xyz.com/pdf1.pdf。

所以这个项目可以通过两种方式访问​​ -

  1. 通过网站内指向 PDF 文件的链接。
  2. 直接通过某个外部来源的链接。例如一些电子邮件、社交媒体参考等。

我找到了这个想要做类似事情的链接 (How can I apply GA download tracking with Sitecore?),但没有得到我的答案。

想到的一种方法是向 Sitecore 管道流程添加一些内容,当有人访问媒体库项目时会触发该流程,并检查上一页是否是我的网站页面之一,以及该项目是否为 PDF,然后基于在那我可以触发一些事件。但不确定如何实现这一点。我正在使用 Sitecore 6.4.1。

所以我的目标是在从外部源访问此文件时触发一个事件。

【问题讨论】:

    标签: c# asp.net pdf sitecore sitecore-media-library


    【解决方案1】:

    Sitecore 的MediaRequestHandler 可以自定义,以便您可以在发生媒体请求时在服务器端执行某些操作。

    您还没有确切说明您要采取什么行动,所以我不能更具体,但这些链接应该向您展示如何操作媒体请求处理程序:

    如果您真的需要触发 javascript,您可以确保所有对 PDF 的请求都被转移到包含 JS 的特定网页。然后,您需要重定向到实际的 PDF 项目。这可以通过上面提到的 MediaRequestHandler 来实现。

    我意识到这真的很混乱,但是如果没有更多关于您需要实现的目标的详细信息,我想不出更好的解决方案。

    【讨论】:

    • 我想为 Universal Analytics 事件跟踪触发一个 javascript 事件。
    • 我在答案中添加了更多内容
    • 非常感谢。我需要做的就是在从外部源或直接链接发出下载请求时向 Google 发起 API 调用,例如 - developers.google.com/analytics/devguides/collection/…
    • 问题是要运行脚本,您需要一个页面来运行它。当您下载 PDF 时,没有网页。这不是 Sitecore 特定的问题。这是网络的本质
    【解决方案2】:

    只需为您的 pdf 请求创建 Httphandler ,因此每当请求 pdf 时,该特定处理程序都会被激活和触发事件,因此您在此文件中想要的任何内容

    您可以在 webconfig 中找到处理程序,以获取有关模块和处理程序的更多详细信息,请参阅以下链接。 http://www.codeproject.com/Articles/544289/Restricting-files-download-using-HTTP-Handler-base

    否则你可以直接在管道中注入代码或使用这个

     <customHandlers>
          <handler trigger="~/media/" handler="sitecore_media.ashx" />
          <handler trigger="~/api/" handler="sitecore_api.ashx" />
          <handler trigger="~/xaml/" handler="sitecore_xaml.ashx" />
          <handler trigger="~/icon/" handler="sitecore_icon.ashx" />
          <handler trigger="~/feed/" handler="sitecore_feed.ashx" />
        </customHandlers>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-04-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-18
      • 1970-01-01
      相关资源
      最近更新 更多