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