V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  DOLLOR  ›  全部回复第 80 页 / 共 153 页
回复总数  3041
1 ... 76  77  78  79  80  81  82  83  84  85 ... 153  
2020-06-15 10:26:01 +08:00
回复了 loli 创建的主题 YouTube YouTube 为什么能做到只推送我感兴趣的视频?
我刚好相反,YouTube 总是给我推不喜欢的东西,点了几百次不喜欢还是孜孜不倦地推,尤其是那些政治视频……
<textarea style="width: 90%;height: 300px;"></textarea>
<br>
<input type="file">
<a href="#" download="">保存</a>
<script>
document.querySelector('input[type=file]').addEventListener('change', function () {
let file = this.files[0];
let fr = new FileReader();
fr.readAsText(file);
fr.onload = function () {
document.querySelector('textarea').value = this.result;
document.querySelector('a[download]').download = file.name;
};
});

document.querySelector('a[download]').addEventListener('mouseover', function () {
this.href = 'data:text/plain,' + encodeURIComponent(document.querySelector('textarea').value);
});
</script>
结论:不行。
浏览器的 JS 是运行在沙箱里的,不能随意访问用户的本地存储设备。能够满足你这种需求的浏览器,都因为安全问题被淘汰了。比如当年的 IE 浏览器,访问一个网站,就能往你的硬盘读写东西,非常可怕。

所以,现代浏览器,要有用户的授权,才能允许你从硬盘读取或写入文件。那就是打开对话框和保存对话框。
借助<input type="file">和 fileReader,你可以在用户授权的情况下读取硬盘里的文件。
然后借助<a download>,把修改后的文件写入磁盘。

当然,浏览器还提供了 localStorage 、sessionStorage 、IndexedDB 这些持久化或临时存储,保存在浏览器的沙箱里,浏览器以外是看不到的。

如果你想像应用程序一样随意读写硬盘,就不能只靠浏览器了,得上 node.js 或 electron 。

参见:
[https://developer.mozilla.org/en-US/docs/Web/API/File/Using_files_from_web_applications] 的 Accessing selected file(s),

[https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a] 的 Using the download attribute to save a <canvas> as a PNG 。
2020-06-13 19:35:36 +08:00
回复了 Tink 创建的主题 GitHub GitHub 计划将"master"(主)分支修改为"main"
清风不识字
何故乱翻书
2020-06-13 19:28:05 +08:00
回复了 jinliming2 创建的主题 Chrome Chrome 终于走出这一步了……
我用 Opera,Opera 内核更新速度紧跟 Chrome,Opera 提供选项让你选择是否隐藏,更重要的是官方支持 portable 。
2020-06-13 19:10:26 +08:00
回复了 mostkia 创建的主题 程序员 MAC 地址会消耗光吗?它与 IP 有没有可比性?
@caola
即使直接通过公网 IP 接入互联网,ISP 也会把用户划分在不同的子网里,只要每个子网里没有相同的 MAC 就不会冲突,而且一个子网里出现相同 MAC 的概率太低了。
(我这里的“子网”是网络层的 IP 协议概念里的“子网”,不是 NAT 概念里的那种“内部网络”)
2020-06-13 18:38:20 +08:00
回复了 mostkia 创建的主题 程序员 MAC 地址会消耗光吗?它与 IP 有没有可比性?
MAC 地址就像全国各地的乡镇名称,这么大的国家难免会有重名的乡镇。
但是,我们只需保证县级行政区名称不重名,并且同一个县级行政区下没有重名的乡镇,就能通过报县名+乡镇名称,来唯一确定一个乡镇。
自己写+1,UI 库跟不上产品天马行空的相像。
2020-06-11 10:28:24 +08:00
回复了 constantine008 创建的主题 职场话题 大家对五险一金怎么看待的
公积金在我看来,不管是自己交的部分,还是公司交的部分,都是我的劳动所得,不要当成“赠礼”。
我不会因为交得多就“美滋滋”,那本来就是我应得的,不是谁施舍的“福利”。
2020-06-11 09:43:06 +08:00
回复了 JCZ2MkKb5S8ZX9pq 创建的主题 程序员 才知道 Foobar 是这意思
http 报头的 referer 是拼错的,正确应该是 referrer,但是已经将错就错几十年了。
不过 DOM API 的拼写( document.referrer )是正确的。
2020-06-10 10:30:40 +08:00
回复了 marcosteam 创建的主题 React Fluent UI 是我用过的最难受的 React 库,没有之一!
@zachlhb

真正应该拆开的是业务逻辑的 JS 和渲染逻辑的 JS 。
渲染逻辑本来就和视图配套的,写在一起更直观。

反观传统的 jQuery 开发,强行把渲染逻辑和视图拆开,开发的时候不停在 JS 和 HTML 代码之间反复横跳,而渲染逻辑却跟业务逻辑混在一起写,很难维护。
2020-06-09 21:00:03 +08:00
回复了 Zach369 创建的主题 程序员 如何反编译写好的前端代码?
最多只能通过 js beautify 把代码格式化好。
想得到“有目录结构的”代码,你只能期待站长犯傻不小心把 source map 发布上线,不然就是做梦。
用 vue 或者 react,配上前端路由,做 SPA 应用很容易实现。
那个并不是“webpack 协议”,而是利用“sourceURL”指令修改了源代码在浏览器在开发者工具的映射位置。
你可以试着在浏览器控制台粘贴以下代码和注释
```
console.log('see sources tab')
//@ sourceURL=myprotocol:///my.domain.com/myfile.js
```
然后你会在源代码标签里发现这段代码被神奇地映射在 URL“myprotocol:///my.domain.com/myfile.js”文件里。
这里的地址,你可以任意改的,不受跨域之类的限制,只要符合规则。
2020-06-09 20:17:09 +08:00
回复了 qW7bo2FbzbC0 创建的主题 互联网 [讨论]你对互联网造词的感觉如何?
造词的是人,而不是互联网,互联网只是加快传播速度。
@autoxbc
源代码文件不光有代码,还有注释,而且注释常常会暴露很多机密或隐私。就像上次的“穷 B vip”事件,忘记混淆代码,注释、变量名的信息被好事者扒了出来。
自那以后我就要求所有前端代码必须混淆了。
sourceMap 可以提供源代码映射。
此站发布代码的时候,忘了删除 map 文件,意外地导致项目源代码泄漏。
2020-06-08 09:06:03 +08:00
回复了 sudoy 创建的主题 JavaScript 为啥实际应用中 Javascript 都是长这样子的?
这是混淆压缩优化后的代码呀,减小体积,加快速度。给机器执行的东西,要可读性干什么?干嘛要读它?
1 ... 76  77  78  79  80  81  82  83  84  85 ... 153  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1040 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 53ms · UTC 20:40 · PVG 04:40 · LAX 12:40 · JFK 15:40
Developed with CodeLauncher
♥ Do have faith in what you're doing.