javascript - 在 Android 上让 HTML 链接始终提示“完成操作”

标签 javascript php android html onchange

我环顾四周,找不到任何有用的东西。

我一直在开发一个网络应用程序,可以让您播放视频文件,主要是 mp4。根据移动浏览器的不同,单击链接时,它将在新选项卡中打开并使用 HTML5 播放(Firefox 会这样做)、下载它(Chrome 有时会这样做)或询问要做什么(Internet 一直这样做,有时使用 Chrome)。

我可以在单击链接时强制显示完整操作对话框吗?

除此之外,我使用下拉菜单进行链接,因为它看起来更整洁。使用 PHP 提取选项的值,因此我可以选择在必要时通过该选项检测浏览器。我不喜欢 JavaScript,但如果需要的话我会使用它。

我的 PHP 代码:

<select width="100%" onchange="location = this.options[this.selectedIndex].value;">
    <option selected disabled>Choose Video Quality</option>
<?php
    foreach($show[additionalMedia] as $addt){
?>
    <option value="<?=$addt[url] ?>"><?=$addt[role] ?></option>
<?php
    }
?>
</select>

我的代码呈现为 HTML:

<select width="100%" onchange="location = this.options[this.selectedIndex].value;">
    <option selected disabled>Choose Video Quality</option>
    <option value="http://blip.tv/file/get/NostalgiaCritic-AdventureTimeVlogsMortalRecoil577.mp4">Source</option>
    <option value="http://blip.tv/file/get/NostalgiaCritic-AdventureTimeVlogsMortalRecoil150.m4v">Blip SD</option>
    <option value="http://blip.tv/file/get/NostalgiaCritic-AdventureTimeVlogsMortalRecoil599.mp4">Blip LD</option>
    <option value="http://blip.tv/file/get/NostalgiaCritic-AdventureTimeVlogsMortalRecoil515.m4v">Blip HD 720</option>
    <option value="http://blip.tv/file/get/NostalgiaCritic-AdventureTimeVlogsMortalRecoil642.m3u8">Blip HLS</option>
</select>

我不会发布数据来源的 json_decoded 数组,但只要说 $addt[url] 是视频 URL 并且 $addt[role] 是 URL 描述。

有什么帮助吗?

最佳答案

凭借我的一些 Android 经验重新审视我的旧问题,我不确定这是否可能。操作选择器使用 MIME 类型来确定要使用的应用程序,并将显示可以处理该类型的所有 Android 应用程序。如果用户设置了首选项,则不会显示选择器。

假设,PHP 可以提供下载具有各种 MIME 类型的文件的功能,“欺骗”Android 设备,以扩展可用的“打开方式”选项的数量,但就目前情况而言,Android 将尽力而为打开扔给它的任何文件。

使用错误 MIME 类型的 Hack-y 解决方案:

<select width="100%" onchange="location = '/download.php?mime=' + document.getElementById("mimetype").value + '&file=' + this.options[this.selectedIndex].value;">

关于javascript - 在 Android 上让 HTML 链接始终提示“完成操作”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20928828/

相关文章:

Javascript AJAX 无法在 ASP.NET C# 上运行并返回 404

javascript - FullCalendar 插件 dayClick 不起作用

android - 将 fragment 用于 Android >= 4.0 的选项卡式 View (无操作栏)

java - 在 Android 中使用 Google 帐户登录

javascript - 你如何制作书签更改页面图标?

javascript - 在 puppeteer 中加载页面之前设置本地存储项目?

php - 使用PHP函数进行多个MySQL查询

php - 添加动态文本框后表单提交

php - 帮助安装 Symfony 插件

android - 使用 ImageView 的上下文滑动