V2EX gzzhanghao 的所有回复 第 1 页 / 共 1 页
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX    gzzhanghao    全部回复第 1 页 / 共 1 页
回复总数  15
2021-05-25 23:38:51 +08:00
回复了 DeepUse 创建的主题 Javascript js 如何解决移动端 webview 滚动穿透的问题.
不清楚具体需求,不过只是想消除背景的话可以加个 fixed 元素并铺满屏幕,这样回弹的部分会显示这个元素的背景色
@BoringTu 见#27,另外我之前也遇到过类似的问题,作为第三方库提供出去,这种情况是控制不了的
@BoringTu 楼主好像说过不能控制 script 标签的位置,另外这里应该不用讨论改内核的场景,那是无解的
我错了,不用判断 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', '/')
```
https://codepen.io/gzzhanghao/full/PopqWZr
v2 回复居然没有缩进…
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' }))
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     Solana     3487 人在线   最高记录 6679       Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 35ms UTC 00:14 PVG 08:14 LAX 16:14 JFK 19:14
Do have faith in what you're doing.
ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86