我想在我的网站中使用 html5 标签进行移动查看,当用户从移动设备上单击此链接时,它会调用给定号码。
<p>Book now, call <a href="tel:01234567890">01234 567 890</a></p>
当用户手机不是 html5 时,我应该怎么做才能隐藏此链接.. 我已经通过 modenizer,但似乎不会检测到链接属性。 http://www.tutorialspoint.com/html5/html5_modernizr.htm
有什么建议吗? 只有当我的网站在移动设备上打开时才会出现此按钮,对于移动设备我想在旧手机上打开时隐藏此链接..
最佳答案
tl;dr 在现代(2018 年)该做什么?假设支持 tel:,使用它并忘记其他任何事情。
tel: URI 方案 RFC5431 (以及 sms: 还有 feed:、maps:、youtube: 等)由协议(protocol)处理程序(如mailto: 和http:)。
它们与 HTML5 规范无关(它已被 out there from 90s 记录在 2k 中的第一次 RFC2806 )然后你不能使用工具检查它们的支持 现代化。协议(protocol)处理程序可以由应用程序安装(例如 Skype 安装一个 callto: 协议(protocol)处理程序,其含义和行为与 tel: 相同,但它是不是标准),由浏览器原生支持或由网站本身安装(有一些限制)。
HTML5 添加的是支持安装自定义基于 Web 的协议(protocol)处理程序(使用 registerProtocolHandler() 和相关函数),还通过 isProtocolHandlerRegistered() 函数简化了对它们的支持的检查。
有一些简单的方法可以确定是否有处理程序:"How to detect browser's protocol handlers? )。
一般来说我的建议是:
tel:(是的,非常不支持旧设备,但在我看来你可以忽略它们)。tel: 不受支持,则更改链接以使用 callto: 并重复检查 3 中描述的内容。tel: 和 callto: 不受支持(或者 - 在桌面浏览器中 - 您无法检测到它们的支持),则只需删除该链接替换 URL在 href 中使用 javascript:void(0) 并且(如果数字在文本范围内没有重复)将电话号码放入 title 中。在这里,HTML5 微数据不会帮助用户(只是搜索引擎)。请注意,较新版本的 Skype 会同时处理 callto: 和 tel:。请注意(至少在最新的 Windows 版本上)总是有一个名为 App Picker 的 - 假的 - 已注册协议(protocol)处理程序(那个烦人的窗口让您选择要打开哪个应用程序未知文件)。这可能会使您的测试消失,因此如果您不想将 Windows 环境作为一种特殊情况来处理,您可以将此过程简化为:
tel:。tel: 替换为 callto:。tel:或保持原样(假设很有可能安装了 Skype)。关于html - 点击调用html,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26088523/
我想将html转换为纯文本。不过,我不想只删除标签,我想智能地保留尽可能多的格式。为插入换行符标签,检测段落并格式化它们等。输入非常简单,通常是格式良好的html(不是整个文档,只是一堆内容,通常没有anchor或图像)。我可以将几个正则表达式放在一起,让我达到80%,但我认为可能有一些现有的解决方案更智能。 最佳答案 首先,不要尝试为此使用正则表达式。很有可能你会想出一个脆弱/脆弱的解决方案,它会随着HTML的变化而崩溃,或者很难管理和维护。您可以使用Nokogiri快速解析HTML并提取文本:require'nokogiri'h
在我的Controller中,我通过以下方式在我的index方法中支持HTML和JSON:respond_todo|format|format.htmlformat.json{renderjson:@user}end在浏览器中拉起它时,它会自然地以HTML呈现。但是,当我对/user资源进行内容类型为application/json的curl调用时(因为它是索引方法),我仍然将HTML作为响应。如何获取JSON作为响应?我还需要说明什么? 最佳答案 您应该将.json附加到请求的url,提供的格式在routes.rb的路径中定义。这
所以我在关注Railscast,我注意到在html.erb文件中,ruby代码有一个微弱的背景高亮效果,以区别于其他代码HTML文档。我知道Ryan使用TextMate。我正在使用SublimeText3。我怎样才能达到同样的效果?谢谢! 最佳答案 为SublimeText安装ERB包。假设您安装了SublimeText包管理器*,只需点击cmd+shift+P即可获得命令菜单,然后键入installpackage并选择PackageControl:InstallPackage获取包管理器菜单。在该菜单中,键入ERB并在看到包时选择
我正在尝试编写一个将文件上传到AWS并公开该文件的Ruby脚本。我做了以下事情:s3=Aws::S3::Resource.new(credentials:Aws::Credentials.new(KEY,SECRET),region:'us-west-2')obj=s3.bucket('stg-db').object('key')obj.upload_file(filename)这似乎工作正常,除了该文件不是公开可用的,而且我无法获得它的公共(public)URL。但是当我登录到S3时,我可以正常查看我的文件。为了使其公开可用,我将最后一行更改为obj.upload_file(file
我正在使用Rails构建一个简单的聊天应用程序。当用户输入url时,我希望将其输出为html链接(即“url”)。我想知道在Ruby中是否有任何库或众所周知的方法可以做到这一点。如果没有,我有一些不错的正则表达式示例代码可以使用... 最佳答案 查看auto_linkRails提供的辅助方法。这会将所有URL和电子邮件地址变成可点击的链接(htmlanchor标记)。这是文档中的代码示例。auto_link("Gotohttp://www.rubyonrails.organdsayhellotodavid@loudthinking.
如何在ruby中调用C#dll? 最佳答案 我能想到几种可能性:为您的DLL编写(或找人编写)一个COM包装器,如果它还没有,则使用Ruby的WIN32OLE库来调用它;看看RubyCLR,其中一位作者是JohnLam,他继续在Microsoft从事IronRuby方面的工作。(估计不会再维护了,可能不支持.Net2.0以上的版本);正如其他地方已经提到的,看看使用IronRuby,如果这是您的技术选择。有一个主题是here.请注意,最后一篇文章实际上来自JohnLam(看起来像是2009年3月),他似乎很自在地断言RubyCL
我正在尝试使用boilerpipe来自JRuby。我看过guide从JRuby调用Java,并成功地将它与另一个Java包一起使用,但无法弄清楚为什么同样的东西不能用于boilerpipe。我正在尝试基本上从JRuby中执行与此Java等效的操作:URLurl=newURL("http://www.example.com/some-location/index.html");Stringtext=ArticleExtractor.INSTANCE.getText(url);在JRuby中试过这个:require'java'url=java.net.URL.new("http://www
我需要一些关于TDD概念的帮助。假设我有以下代码defexecute(command)casecommandwhen"c"create_new_characterwhen"i"display_inventoryendenddefcreate_new_character#dostufftocreatenewcharacterenddefdisplay_inventory#dostufftodisplayinventoryend现在我不确定要为什么编写单元测试。如果我为execute方法编写单元测试,那不是几乎涵盖了我对create_new_character和display_invent
我正在学习http://ruby.railstutorial.org/chapters/static-pages上的RubyonRails教程并遇到以下错误StaticPagesHomepageshouldhavethecontent'SampleApp'Failure/Error:page.shouldhave_content('SampleApp')Capybara::ElementNotFound:Unabletofindxpath"/html"#(eval):2:in`text'#./spec/requests/static_pages_spec.rb:7:in`(root)'
在应用开发中,有时候我们需要获取系统的设备信息,用于数据上报和行为分析。那在鸿蒙系统中,我们应该怎么去获取设备的系统信息呢,比如说获取手机的系统版本号、手机的制造商、手机型号等数据。1、获取方式这里分为两种情况,一种是设备信息的获取,一种是系统信息的获取。1.1、获取设备信息获取设备信息,鸿蒙的SDK包为我们提供了DeviceInfo类,通过该类的一些静态方法,可以获取设备信息,DeviceInfo类的包路径为:ohos.system.DeviceInfo.具体的方法如下:ModifierandTypeMethodDescriptionstatic StringgetAbiList()Obt