Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/460.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如果启用闪存,则显示一个或另一个Drupal块_Javascript_Html_Flash_Drupal 7_Drupal Views - Fatal编程技术网

Javascript 如果启用闪存,则显示一个或另一个Drupal块

Javascript 如果启用闪存,则显示一个或另一个Drupal块,javascript,html,flash,drupal-7,drupal-views,Javascript,Html,Flash,Drupal 7,Drupal Views,在我的Drupal7站点中,我有一个带有两个块显示的视图。两者之间的唯一区别是一个过滤条件-URL Aias-:一个块显示别名中带有/html5的内容,另一个块显示别名为/flash URL的内容 这些块只能在特定页面上显示。此逻辑由基于URL的上下文模块控制。这样,如果URL类似于perm/type/man,则会显示该块/* 在这个URL上,我需要显示一个块或另一个块,这取决于flash内容是否在设备级别启用:如果设备支持类似PC的flash,则必须显示flash内容。如果设备不支持flash

在我的Drupal7站点中,我有一个带有两个块显示的视图。两者之间的唯一区别是一个过滤条件-URL Aias-:一个块显示别名中带有/html5的内容,另一个块显示别名为/flash URL的内容

这些块只能在特定页面上显示。此逻辑由基于URL的上下文模块控制。这样,如果URL类似于perm/type/man,则会显示该块/*

在这个URL上,我需要显示一个块或另一个块,这取决于flash内容是否在设备级别启用:如果设备支持类似PC的flash,则必须显示flash内容。如果设备不支持flash mobile,则会显示html5内容

我发现这个js代码用于检测设备上是否启用了flash

var hasFlash = false;
try {
  var fo = new ActiveXObject('ShockwaveFlash.ShockwaveFlash');
  if (fo) {
    hasFlash = true;
  }
} catch (e) {
  if (navigator.mimeTypes
        && navigator.mimeTypes['application/x-shockwave-flash'] != undefined
        && navigator.mimeTypes['application/x-shockwave-flash'].enabledPlugin) {
    hasFlash = true;
  }
}
但我不知道如何处理它,也不知道我必须在哪里包含代码


您能帮助我吗?

您可以尝试将上述代码添加到文件中,或作为drupal_add_js的内联脚本,并按如下方式继续:

在同一个页面上以初始隐藏的方式加载两个块,并在js中显示符合条件的块。 或者使用ajax加载正确块的内容,并根据所需条件将其转储到DOM中。