next-useragent

next.js 解析用户代理字符串工具
授权协议 MIT
开发语言 JavaScript TypeScript
所属分类 Web应用开发、 网页开发工具
软件类型 开源软件
地区 不详
投 递 者 王亮
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

next-useragent 用于为 next.js 解析浏览器的用户代理字符串。

安装

$ npm install next-useragent

用法

next-useragent 的用法非常简单,使用withUserAgent方法,可以随时随地访问用户代理的详细信息。

  • 作为 getInitialProps 方法的参数传递。
  • 作为 React 组件的属性传递。

高阶组件

import React from 'react'
import dynamic from 'next/dynamic'
import { WithUserAgentProps, withUserAgent } from 'next-useragent'

const DesktopContent = dynamic(() => import('./desktop-content'))
const MobileContent = dynamic(() => import('./mobile-content'))

class IndexPage extends React.Component<WithUserAgentProps> {

  static async getInitialProps(ctx) {
    return { useragent: ctx.ua.source }
  }

  render() {
    const { ua, useragent } = this.props

    return (
      <>
        <p>{ useragent }</p>
        { ua.isMobile ? (
        <MobileContent />
        ) : (
        <DesktopContent />
        ) }
      </>
    )
  }
}

export default withUserAgent(IndexPage)
  • Next.js踩坑入门系列 (一) Hello Next.js (二) 添加Antd && CSS (三) 目录重构&&再谈路由 (四) Next.js中期填坑 (五) 引入状态管理Redux (六) 再次重构目录 (七) 其他相关知识 获取数据&&getInitialProps 获取数据,依然是Next与普通的React SPA应用不同的地方,React应用基本都有自己的路由组件(当然大部分是r

  • 学习目标: getServerSideProps获取数据 学习内容: 1.getServerProps获取数据 学习总结&理解输出 next.js是一种基于服务端渲染的框架。其中『服务端渲染』指:访问某路由之前,先向服务器请求数据,将请求回来的数据和HTML加工后直接返回前端展示)。 服务端渲染有一个重要概念即静态化。当请求较多的时候,服务器也会有一定的压力。因此当下次访问同一个路由地址的时候,直

  • 就在我们使用安卓手机接通Pc的时候,或者使用的有些app比如我们企业营销团队就在使用的app引号精灵,以前老版本就需要开启USB开发者调试模式下使用,现就在新版本不需要了,如果手机没有开启USB开发者调试模式,Pc则不能够成功识别我们的手机,部分app也不能够正常使用,如果遇到这个情况我们需要找解决方法将手机的USB开发者调试模式打开,下面我们叙述魅族魅蓝x2如何开启USB开发者调试模式的方法。接

  • 微信开放标签是微信公众平台面向网页开发者提供的扩展标签集合。通过使用微信开放标签,网页开发者可安全便捷地使用微信或系统的能力,为微信用户提供更优质的网页体验。说白了就是公众号跳转APP 官方文档: 开放标签https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/Wechat_Open_Tag.html#22  《微信内网页跳转APP

  • ----------------------------------------razor_js.lua--------------------------------------------------------- local cjson = require("cjson") local cjson_safe = require("cjson.safe") local logger = req

  • --解析UserAgent,获取移动设备访问的系统版本和设备型号 function getUAField(t) local separator=';' local tab={} local android=string.find(t,"Android") local iphone=string.find(t,"iPhone")     if android  then tab["platform"

  • 这个问题困扰了其他人包括我很长时间了:当我们在CentOS中安装好httpd、php,将Nextcloud程序解压进网站根目录,然后访问—— 内部服务器错误 服务器发生一个内部错误并且无法完成你的请求. 如果多次出现这个错误, 请联系服务器管理员, 请把下面的技术细节包含在您的报告中. 更多细节可以在服务器日志中找到. 直入正题 这个问题的出现是由于文件夹权限设置的不到位。 如果直接简单地去设置权

  • 基于React.js 技术栈的服务端渲染框架Next.js 实战记录 第一次在掘金上发布文章,本着学习的态度,将自己运用Next.js开发服务端渲染的项目复原总结出来,巩固知识点,也可以跟同行探讨下技术。(文章不断完善中...) 1.项目背景 公司原有项目基于PHP和jQuery混合开发的,提出重构需求。但是后端技术栈由PHP更替为Java微服务,前端技术栈也从jQuery更替为React.js。

  • 1. 现象 删除目录或文件时提示: 无法删除文件 “***” Error deleting file "***" 2. 解决方法 查看数据目录下nextcloud.log,可能有三种情况: 情况A {"reqId":"0DijSqEkfOg2iyh9VD8J","remoteAddr":"xx.xx.xx.xx","app":"webdav","message":"Exception: {\"Me

  • 前言 老大说以后会用 next.js来做一下 SSR 的项目,让我们有空先学学。又从 0 开始学习新的东西了,想着还是记录一下学习历程,有输入就要有输出吧,免得以后给忘记学了些什么~ Next框架与主流工具的整合 github地址:https://github.com/code-coder/next-mobile-complete-app 首先,clone Next.js 项目,学习里面的temp

  • 本帖最后由 husthyx 于 2019-8-17 11:33 编辑 老毛子固件,通过ONMP安装,nextcloud是最新版本16.0.4,配置完成后输入帐号密码登陆,出现“内部服务器错误”,服务器日志如下:{"reqId":"1NwssUrQYmV1d9ELSrZR","level":3,"time":"2019-08-17T00:23:19+00:00","remoteAddr":"192.

 相关资料
  • HTTP 规范(包括1.0 和1.1 版)明确规定,浏览器应该发送简短的用户代理字符串,指明浏览器的名称和版本号。RFC 2616(即HTTP 1.1 协议规范)是这样描述用户代理字符串的:“产品标识符常用于通信应用程序标识自身,由软件名和版本组成。使用产品标识符的大多数领域也允许列出作为应用程序主要部分的子产品,由空格分隔。按照惯例,产品要按照相应的重要程度依次列出,以便标识应用程序。” 上述规

  • Milo Yip 2016/9/27 本文是《从零开始的 JSON 库教程》的第三个单元解答编。解答代码位于 json-tutorial/tutorial03_answer。 1. 访问的单元测试 在编写单元测试时,我们故意先把值设为字符串,那么做可以测试设置其他类型时,有没有调用 lept_free() 去释放内存。 static void test_access_boolean() {

  • 考虑到历史原因以及现代浏览器中用户代理字符串的使用方式,通过用户代理字符串来检测特定的浏览器并不是一件轻松的事。因此,首先要确定的往往是你需要多么具体的浏览器信息。一般情况下,知道呈现引擎和最低限度的版本就足以决定正确的操作方法了。例如,我们不推荐使用下列代码: if (isIE6 || isIE7) { //不推荐!!! //代码 } 这个例子是想要在浏览器为IE6 或IE7 时执行相应

  • 问题内容: 我搜索了一个解决方案,但没有任何意义,所以这是我的问题: 我想解析一个包含HTML文本的字符串。我想用JavaScript做。 我尝试了这个库,但似乎它解析了当前页面的HTML,而不是字符串。因为当我尝试下面的代码时,它更改了页面的标题: 我的目标是从读取的HTML外部页面中提取链接,就像读取字符串一样。 您知道执行此操作的API吗? 问题答案: 创建一个虚拟DOM元素并将字符串添加到

  • 问题内容: 我正在尝试解析用PHP编码并通过TCP发送到C ++客户端的JSON字符串。 我的JSON字符串如下所示: 在C ++客户端上,我正在使用jsoncpp库: 问题是我没有得到任何输出,甚至没有关于解析的错误(如果有)。你能帮我了解我做错了什么吗? 问题答案: 您的问题是:没有 root [“ name”] 。您的文档应如下所示: 和你的代码是这样的: 如果您想按原样保留数据: 使用迭代

  • 问题内容: 我正在尝试解析java中的JSON字符串,以单独打印各个值。但是,在使程序运行时,出现以下错误- 我的班级看起来像- 让我知道我丢失了什么,或者为什么每次运行该应用程序时都会得到该错误。任何意见,将不胜感激。 问题答案: 看我的评论。当以 android.jar身份运行时,您需要包含完整的org.json库。仅包含要针对其进行编译的存根。 __ 此外,您还必须在JSON数据中删除额外的

  • 我寻找一个解决方案,但没有任何相关的,所以这是我的问题: 我想解析一个包含HTML文本的字符串。我想用JavaScript来做。 我尝试了这个库,但它似乎解析我当前页面的HTML,而不是从一个字符串。因为当我尝试下面的代码时,它会更改我页面的标题: 我的目标是从一个HTML外部页面中提取链接,我就像读一个字符串一样。 你知道做这件事的API吗?

  • 问题内容: 我有以下Json字符串 我正在尝试解析它并打印出每个名称和值-最简单的方法是什么?我尝试了jQuery.parseJSON但我不知道如何使用它 示例代码会很棒 问题答案: 结果是: jsFiddle示例:http://jsfiddle.net/bradchristie/XtzjZ/1/