V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  gzzhanghao  ›  全部回复第 1 页 / 共 1 页
回复总数  15
2021-05-25 23:38:51 +08:00
回复了 DeepUse 创建的主题 JavaScript js 如何解决移动端 webview 滚动穿透的问题.
不清楚具体需求,不过只是想消除背景的话可以加个 fixed 元素并铺满屏幕,这样回弹的部分会显示这个元素的背景色
2021-05-10 18:19:54 +08:00
回复了 xieqiqiang00 创建的主题 JavaScript JS 有什么手段可以判断一个函数是不是原生代码吗?
@BoringTu 见#27,另外我之前也遇到过类似的问题,作为第三方库提供出去,这种情况是控制不了的
2021-05-10 11:32:06 +08:00
回复了 xieqiqiang00 创建的主题 JavaScript JS 有什么手段可以判断一个函数是不是原生代码吗?
@BoringTu 楼主好像说过不能控制 script 标签的位置,另外这里应该不用讨论改内核的场景,那是无解的
2021-05-09 16:37:15 +08:00
回复了 xieqiqiang00 创建的主题 JavaScript JS 有什么手段可以判断一个函数是不是原生代码吗?
我错了,不用判断 stack 那么麻烦,直接 fn.caller 就能秒解

```js
function guard(value) {
function toString() {
if (toString.caller === send) {
return value
}
}
return { toString }
}

function send(method, url, body = undefined) {
const xhr = new XMLHttpRequest()
xhr.open(guard(method), guard(url), false)
xhr.send(guard(body))
console.log(xhr.status, xhr.responseText)
}

send('GET', '/')
```
2021-05-09 16:17:40 +08:00
回复了 xieqiqiang00 创建的主题 JavaScript JS 有什么手段可以判断一个函数是不是原生代码吗?
https://codepen.io/gzzhanghao/full/PopqWZr
v2 回复居然没有缩进…
2021-05-09 16:01:26 +08:00
回复了 xieqiqiang00 创建的主题 JavaScript JS 有什么手段可以判断一个函数是不是原生代码吗?
function guard(value) {
function toString() {
try {
null.a
} catch (error) {
// TODO 判断 error.stack,在 chrome 下 send 和 Object.toString 应该是相邻的
// 注意:不能用 prototype,只能访问 str.length 和 str[index],逐个字符判断
console.log(error.stack)
return value
}
}
return { toString }
}

function send(method, url, body = undefined) {
const xhr = new XMLHttpRequest()
xhr.open(guard(method), guard(url))
xhr.send(guard(body))
}

send('POST', '/', JSON.stringify({ foo: 'bar' }))

/**
* 测试劫持
*/

XHR = XMLHttpRequest
XMLHttpRequest = class {
constructor() {
this.xhr = new XHR()
}
open(method, url) {
return this.xhr.open(method, url)
}
send(body) {
return this.xhr.send(body)
}
}

send('POST', '/', JSON.stringify({ foo: 'bar' }))
2018-10-18 00:02:13 +08:00
回复了 yuedingwangji 创建的主题 全球工单系统 有腾讯的大佬么,企业微信后台一直无法登陆?
2016-10-04 01:22:27 +08:00
回复了 gzzhanghao 创建的主题 JavaScript 写了个反编译 JavaScript 的 babel 插件
@aaronrzh 还是不太一样的,格式化的工作是交给 js-beautifier 完成的,这个只负责把代码逻辑还原出来
2016-10-03 15:03:19 +08:00
回复了 gzzhanghao 创建的主题 JavaScript 写了个反编译 JavaScript 的 babel 插件
@qfdk 其实就是 beautifier 吧,这个工具不是用来格式化代码的,而是用来把一些压缩后的语句恢复正常的。

比如下面这段代码:

```javascript
if (a) {
b()
} else if (c) {
d()
}
```

uglifyjs 会把它转换成`a ? b : c && d`,我所知道的所有代码格式化工具对这种表达式都只是原样输出,而我这个工具能把它变回原来的 if 语句。这点从我上面贴出来的代码就可以看出区别了。
2016-10-02 22:16:53 +08:00
回复了 gzzhanghao 创建的主题 JavaScript 写了个反编译 JavaScript 的 babel 插件
@fulvaz 那叫编译吧,这样的话反编译是指从 v8 生成的汇编变回 js ,这就有点高端了_(:з」∠)_
2016-10-02 20:28:29 +08:00
回复了 gzzhanghao 创建的主题 JavaScript 写了个反编译 JavaScript 的 babel 插件
@yangxiongguo chrome 的格式化工具不会处理`a?b:c`和`a&&b`这两种情况,实际处理效果和 js-beautify 生成的结果并没有多大区别
2016-10-02 20:21:09 +08:00
回复了 gzzhanghao 创建的主题 JavaScript 写了个反编译 JavaScript 的 babel 插件
楼上干嘛那么纠结用词问题…在这个语境下我说反编译应该都知道这是在干嘛吧(´・_・`)
2016-09-20 22:41:21 +08:00
回复了 gzzhanghao 创建的主题 Node.js 发布一个用 node 写的 HTTP Debugging Proxy
@mengzhuo 我主要是想要一个可以用代码定义服务端行为的东西。这样我们能解放很多脑洞。

比如我可以把上游返回的内容传给本地编辑器,用户在编辑器里点击保存后我们再将编辑后的内容返回给浏览器。

wireshark 要实现同样的功能需要用 lua 写脚本吧。前端肯定更愿意和 js 打交道╮(╯▽╰)╭
2015-03-18 01:07:50 +08:00
回复了 kokdemo 创建的主题 分享创造 更强的 V2EX 增强方案 v2ex.k 0.2.0 发布!!
一直按着箭头下会被v2 block ip,被这个坑了好多次……
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1096 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 18ms · UTC 19:40 · PVG 03:40 · LAX 11:40 · JFK 14:40
Developed with CodeLauncher
♥ Do have faith in what you're doing.