跨域 iframe 内嵌页面 JavaScript 写 cookie 失败解决方法

iframe 跨域传递 cookie 最近在处理 iframe 跨域通讯(也就是PostMessage的应用,有兴趣可以看一下我的文章),发现了个比较头疼的问题:在 iframe 环境中,无法跨域读取内嵌网页的 cookie ,得到的结果都是空值。 本来原计划构思,iframe 通过 PostMessage 实现跨域数据共享,但这个问题的出现让我蛋碎不已…(´༎ຶД༎ຶ`) 如果不解决,前面的努力就等于全白搭了。 于是乎我便开始了各种查文档和解决方案。据文档说明: Chrome 51 开始,浏览器的 Cookie 新增加了一个SameSite 阅读详情
AI摘要

在新版Chrome下,当iframe页面和父页面跨域时,需要设置Cookie的SameSite=None;Secure才能成功写入。无论是服务器端如Express使用express-session配置,还是页面内JavaScript尝试写Cookie,都需要添加这个标志。例如,使用nginx可以通过proxy_cookie_path配置SameSite属性。

js写cookie的方案

iframe 页面和其父级页面在不同域的时候,如果iframe 页面需要写入Cookie,比如保存登录态,此时需要在写入的时候增加 SameSite=None;Secure;,方能写入成功。

上面是服务器在写cookie的时候需要处理 SameSite,那么如果页面内的 JavaScript 写 cookie,会发现也不能写入成功。

在一个跨域的内嵌页面测试如下图所示。

可以看到写入后,获取 Cookie为空,查看浏览器的 Cookie 面板,也没有发现刚才写入的内容,说明写入失败。

那么是否也需要在写入的时候增加和服务器一样的标识呢?

此时可以看到,Cookie 成功写入了。


服务器写cookie的方案

新版的Chrome下iframe内加载的页面无法写入Cookie,需要嵌入的站点在写Cookie的时候增加 SameSite=none 和 Secure=true。

对于 Express 站点,如果使用的是 express-session ,在其 1.17.0 版本后,支持了配置 sameSite=none,之前的版本是不支持的。

配置如下

测试效果

如果使用 nginx,可以配置 proxy_cookie_path。

location / {
        # your usual config ...
        # hack, set all cookies to secure, httponly and samesite (strict or lax)
        proxy_cookie_path / "/; secure; HttpOnly; SameSite=strict";
    }


总结

在 iframe 跨域的场景下,无论是服务器,还是内嵌的页面,如果要写入 Cookie,都需要增加 SameSite=None;Secure;

 

转载请注明出处。本文地址: 跨域 iframe 内嵌页面 JavaScript 写 cookie 失败解决方法 - 前端路迹

Vue 项目嵌入第三方网页的 iframe 可控加载与跨域通信实战 iframe 是 Web 中实现页面嵌套的基础机制,其本质是浏览器沙盒化的独立文档上下文。理解同源策略、CSP 安全限制与 DOM 加载生命周期,是实现可靠嵌入的前提。在 Vue 应用中,需突破响应式思维惯性,通过可控加载(如 useIframeReady)、状态隔离(key 强制重建)、postMessage 可靠通信(带序列号与超时)及服务端代理等手段,解决冷启动就绪判断、热插拔状态重置、长驻双向交互等核心问题。典型应用场景包括后台系统集成 Grafana 监控、SaaS 平台嵌入低代码设计器、政务系统 阅读详情

相关推荐

解决chrom浏览器iframe嵌套写cookie问题

chrom浏览器环境下当前网站被第三方iframe嵌套,如何保证cookie值成功写入 1、保证请求的url必须是https协议。 2、response头部设置 response.setHeader(“Set-Cookie”,ut+“Path=*; SameSite=None; Secure”);

火焰云的博客 7178

iframe嵌套第三方页面跨域带cookie问题

问题描述: 192.168.40.26服务器上有一个项目,某个页面嵌入了第三方系统平台, 第三方系统平台服务器地址是:192.168.40.67 页面嵌入成功,只能访问到登录页,登陆成功但是页面不进行跳转。 如果单独登录第三方平台,如下图: 嵌入第三方后页面 ,如下图: 提示正常登陆成功,却没有跳转页面。页面晃动一下,但还是停留在登陆页面上。 判断是因为跨域问题,嵌入页面时使用192.168.40.26IP地址访问第三方192.168.40.67登录接口时登陆成功,但是前端页面也在这个192.168.

zhengaog的博客 2万+

iframe内嵌帆软报表单点登录失败?Chrome80+跨域Cookie问题实战解决

本文详细解析了Chrome80+版本中SameSite Cookie策略变更导致的iframe内嵌帆软报表单点登录失败问题,并提供了四种实战解决方案,包括Nginx反向代理、定制Cookie属性、前端代理中转认证和降级兼容模式。文章还分享了深度排查技巧和企业级部署的最佳实践,帮助开发者有效解决跨域Cookie问题。

weixin_42641998的博客 246

iframe嵌套页面,由于同源策略导致cookie无法获取,导致会话session失效问题得解决方案

iframe嵌套页面,由于同源策略导致cookie无法获取,导致会话session失效问题得解决方案

阳光 7320

WebView Cookie跨域丢失问题:从原理到Android/iOS实战解决方案

Cookie作为Web开发中维持用户会话状态的核心机制,其工作原理基于HTTP协议在客户端存储服务器下发的键值对,并在后续请求中自动携带以实现状态管理。这一机制在标准浏览器中运行良好,但在移动端混合开发场景下,当Web应用内嵌于App的WebView容器时,常因容器与浏览器内核的差异导致Cookie同步异常,引发用户登录状态丢失等严重问题。从技术价值看,理解并解决WebView的Cookie管理问题,是保障混合应用用户体验与功能完整性的关键工程实践。尤其在涉及跨域请求、HttpOnly安全Cookie及Sa

cojm55771的博客 515

深入解析CORS_ALLOWED_ORIGINS:跨域请求、Cookie安全与实战配置

跨域资源共享是现代Web开发中处理前后端分离架构的核心安全机制。其原理基于浏览器的同源策略,通过在HTTP响应头中设置特定的CORS头部,服务器可以声明允许哪些外部源访问自己的资源。这项技术的核心价值在于,它在保障用户数据安全的前提下,合法地满足了微服务、多域名部署等场景下的跨域数据交互需求。在实际应用中,CORS_ALLOWED_ORIGINS配置项扮演着“访客白名单”的关键角色,它精确控制了允许发起跨域请求的源,是防御CSRF攻击的重要环节。同时,它与Cookie的自动携带机制、HttpOnly属性共同

java2000.net 402

iframe嵌入cookie无法写入问题

iframe内加载的页面无法写入Cookie

Hyao-J 2563

CocosCreator H5游戏参数传递实战:5种方法深度解析与跨域通信指南

在Web前端开发与H5游戏开发中,跨域通信与参数传递是构建复杂交互应用的基础技术。其核心原理在于解决不同源页面间的安全数据交换问题,现代浏览器主要通过同源策略进行安全隔离,而postMessage API等技术则提供了标准化的安全通信通道。掌握这些技术对于实现模块化、可集成的Web应用具有重要价值,尤其在游戏作为组件嵌入电商页面、广告平台或App WebView等应用场景下。本文聚焦于CocosCreator H5游戏开发,针对iframe嵌入这一高频场景,深入对比了URL Query、postMessag

weixin_34242331的博客 421

解决第三方使用iframe内嵌页面时无法正常登录访问的问题

主要解决了谷歌浏览器高版本浏览器88或以上,引用iframe内嵌页面,因为浏览器的安全策略存在跨域,无法使用cookie获取到token信息,导致页面加载不出来的问题

qq_28013889的博客 1万+

Playwright iframe定位全解析:从核心原理到实战避坑指南

在Web自动化测试与数据抓取领域,处理iframe(内联框架)是开发者必须掌握的核心技能。iframe本质上是一个独立的浏览上下文,拥有自己的DOM树和JavaScript执行环境,这导致了主页面无法直接操作其内部元素,从而引发元素定位失败等常见问题。理解其隔离原理是解决所有相关技术挑战的起点。从技术价值看,精准的iframe操作能力直接决定了自动化脚本的稳定性和覆盖率,尤其在集成第三方支付、地图服务或处理微前端架构等现代Web应用场景中至关重要。本文聚焦于Playwright框架,系统拆解了iframe的

weixin_34087307的博客 434

Iframe跨域访问Cookie和Session的解决方法(PHP)

为了在Iframe中跨域访问Cookie,我们需要将Cookie的SameSite属性设置为"None",以允许Cookie在跨站请求中发送。Iframe是一种在网页中嵌入其他网页的标签,它可以用于在当前页面中展示来自不同域的内容。综上所述,通过设置Cookie的SameSite属性和使用POST消息传递Session ID,我们可以解决Iframe跨域访问Cookie和Session的问题。需要注意的是,为了确保安全性,我们应该仅允许特定的域名访问该Iframe,可以通过设置HTTP响应头来实现。

. 3238

跨域 SameSite secure

问题描述: 在 chrome 上, pdf预览失败,报错500,可是新开标签页,把请求地址放到地址栏里进行请求,又能获取到相应的数据; 在 火狐浏览器 均能正常显示。 经对比发现 1.页面内报错的请求Content-Type 为 application/json;charset=UTF-8 ;而标签内的能够正常返回的Content-Type为 application/pdf;charset=UTF-8 ; 向后端确认其返回的 Content-Type 为 application/pdf;

龙丨行的博客 2126

FFmpeg视频缩放终极指南:从基础命令到保持宽高比的5种实战技巧

本文是FFmpeg视频缩放的终极指南,详细讲解了从基础命令到保持宽高比的5种实战技巧。针对不同平台(如抖音、B站、Instagram)的分辨率要求,提供了具体的参数模板和批量处理脚本,帮助内容创作者高效、精准地调整视频大小,避免画面变形或黑边问题,实现多平台适配。

juice的博客 458

Chrome 91 跨域 Cookie:SameSite/Secure/CORS

跨域请求携带 Cookie 是前后端分离架构中的常见需求,但浏览器安全策略中的 SameSite、Secure 与 CORS 凭据模式共同决定了 Cookie 能否正常写入和回传。Chrome 91 起,未显式声明 SameSite 的 Cookie 默认按 Lax 处理,而 SameSite=None 必须搭配 Secure,否则整条 Set-Cookie 被丢弃,导致登录态丢失、接口 401。理解同源与同站的区别、Access-Control-Allow-Credentials 与 withCreden

weixin_34221276的博客 364

无人机多旋翼倾转动力测试系统-适用于(eVTOL开发、缩比模型测试、科研教育)

LY-QZ-F4多旋翼倾转动力测试系统是全球首款专为倾转四旋翼设计的多自由度动力测试平台,融合高精度传感、动态倾转模拟与智能工况分析,为下一代eVTOL技术提供全维度验证工具。采用航空级应变传感器(精度±0.1% FS),同步捕获推力、扭矩、俯仰/滚转力矩,动态误差<1%。同时测试电驱动系统(单轴最大150kW)与混合动力单元(增程式),支持高压(800V)平台。通过MET数据采集软件,控制采集一体化,定制化,实时观察上百个传感器数据,实时更改测试需求。可搭配六维姿态平台,温湿度舱、振动台等环境模拟设备。

weixin_49209795的博客 874

彻底禁用有道云笔记自动更新:手动修改配置文件的终极方案

本文详细介绍了如何通过修改配置文件彻底禁用有道云笔记的自动更新功能,解决v7.2.8版本的兼容性问题。通过定位并修改`app-update.yml`文件,用户可以一劳永逸地阻止强制更新,保持稳定的v7.2.7版本。文章还提供了常见问题排查和进阶防护措施,确保操作的有效性和安全性。

weixin_29258297的博客 463

iframe 中 js 的 cookie 读写不到的解决办法

先看一个例子比如:我们在www.cr173.com中用 iframe 了一个www.fxxz.com的一个页面。 如: < iframe height="100" marginheight="0" src="http://www.fxxz.com/" frameborder="0" width="970" marginwidth="0" ...

weixin_34226182的博客 288

《C语言小游戏之贪吃蛇程序代码》

//为广大编程游戏爱好者提供一个参考的游戏源代码#include&lt;stdio.h&gt;#include&lt;conio.h&gt;#include&lt;windows.h&gt;#include&lt;time.h&gt;#define framex 5#define framey 5#define wide 20#define high 20int i,j,a[2];//将光标移动到...

qq_42052821的博客 2万+

.vue文件怎么嵌入html,vue-cli2 组件内嵌HTML文件

(如有错误,欢迎指正~~)在Vue要使用文件上传,找到一个bootstrap编写好的demo,打算直接用,嵌入vue中。demo主要使用jquery和webuploader,jquery和webuploader引用是使用script引入的。要兼容现在的Vue项目。实验一:打算在Vue的组件里使用script引入demo里同样引入的文件,发现文件没有被引用进来。实验二:打算将script引入文件的语...

weixin_36024106的博客 2354

利用netmq在相机应用于unity之间传输图像数据

Unity工业相机接入方案解析 本文探讨了在Unity中接入不同品牌工业相机的技术方案。研究发现: Basler相机可直接调用官方DLL(pylonc.net.dll)实现接入 海康和大恒相机因驱动DLL依赖C++组件,无法直接调用 解决方案:通过独立进程(相机应用程序)与Unity进行通信,采用NetMQ实现图像数据传输 技术实现要点: 相机端:使用PublisherSocket发布JPEG图像帧 Unity端:通过SubscriberSocket订阅图像数据 优化:设置高水位线控制缓存帧数,避免数据堆积

weixin_46450859的博客 417

2024年数字IC秋招-格科微-数字电路设计工程师-笔试题

笔试题型:简答题(9个)笔试平台:牛客(电脑监控)笔试时间:2h。

qq_42135020的博客 1605

Vue后台中iframe实现keep-alive无刷新的三种实践方案

在后台管理系统中,使用iframe嵌入报表、地图或第三方页面是常见需求,但Vue的keep-alive只能缓存组件实例,无法保住浏览器级的内嵌文档。当iframe脱离DOM时会触发重新加载,导致页面白屏、表单内容丢失。要真正实现无刷新缓存,核心在于让iframe节点持续连接在文档中。通过v-show常驻宿主容器、路由卸载前转移DOM节点、封装KeepAliveFrame组件三种方式,可以在不同架构下让iframe保持现场。这类方案适用于固定模块切换、多标签页报表等场景,是前端性能优化与工程实践中的关键技巧。

weixin_34082789的博客 560

DMC-E 系列总线控制卡----雷赛板卡介绍(十七)

低的速度平稳地接近目标位置,降低运动部件对接触点的冲击。设置插补目标位置,插补方向,以确定插补动作。圆形区域限位,即运动仅在用户设定的圆形范围内进行,超出这个范围,运动会依据设定。首先,用户需要绑定两个轴进而确定该功能所处的坐标系。仅支持平面圆形限位,不支持空间圆形限位。径,可以确定该区域在坐标系中的位置。)运动开始前,用户应当将旋转轴调整到与插补曲线的起点位置相切的角度;可以配合椭圆插补或圆弧插补运动,实现跟随轴的旋转运动角度与曲线当前。外,其它运动形式若开始运动时在限位区域外,则禁止运动;

A_nanda的博客 653

实测16个新闻站:iframe内嵌并非都禁止,X-Frame-Options与CSP真相

iframe内嵌是Web开发中常见的页面集成方式,其可行性受X-Frame-Options和CSP frame-ancestors等响应头控制,同时可能遭遇JavaScript检测与Cookie SameSite限制。理解这些机制有助于在内容聚合、搜索增强等场景中做出合理选型。对于数据获取,Tavily、DuckDuckGo等搜索API提供结构化结果,结合scrapy playwright可处理动态iframe,而iframe更适合展示而非取数。本文通过实测16个新闻站点,揭示内嵌策略的多样性,为技术方案提

weixin_33976326的博客 168

增益调度控制 —— 理论、案例与交互式 GUI 实现

本文详细介绍了增益调度控制的基本原理、数学模型及公式推导,探讨了该方法在适应非线性系统和大范围工作条件下的优势与局限。通过航空飞行控制、发动机推力控制以及化工过程控制三个典型案例,我们展示了如何利用调度变量动态调整控制增益,从而使得控制系统在各个工作点均能达到优良性能。为帮助工程师和研究者更直观地理解并验证增益调度控制的实际效果,本文提供了一套基于 Python 与 PyQt6 的交互式 GUI 控制系统代码。用户不仅可以实时查看仿真数据,还能通过在线调节参数直观体验调度控制的优势。

闲人编程的博客 1480

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

vue项目中使用js-cookie存储数据_vue 引入js-cookie,存值唯一

说明js-cookie是一个简单的,轻量级的处理cookies的js API。创建//创建简单的cookie//创建有效期为7天的cookie//为当前页创建有效期7天的cookie取值//获取所有cookie删除值//如果值设置了路径,那么不能用简单的delete方法删除值,需要在delete时指定路径// 删除失败// 删除成功//注意,删除不存在的cookie不会报错也不会有返回命名空间。

2401_86637658的博客 1511

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

上一篇: Vue 使用 <keep-alive include> 实现多级 <router-view> 缓存,无限层次缓存
下一篇: 使用amfe-flexible以及px2rem-loader解决VUE移动端适配
jayccx
博客等级 码龄18年 13粉丝 7原创
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值