18

在 Chrome 中这是可能的,但我找不到在 Safari 中执行此操作的方法。是否可以?如何?

4

5 回答 5

22

目前这是不可能的。

于 2012-03-29T17:34:28.787 回答
5

最接近的选项是暂停 JavaScript 并从控制台执行命令。

要打开 Safari 开发工具,请CtrlAltC在 Windows 或commandoptionCMac 上按。或者在 Safari Preferences -> Advanced -> Show Develop Menu 的菜单栏中启用 Safari dev 命令。

请参阅Apple 的文档以了解如何使用其开发工具。

与 Chrome 不同,Safari 调试器目前不支持单击脚本文件并就地编辑它的功能。但是,您仍然可以使用断点或暂停按钮停止执行,然后在控制台中执行代码以更改值,然后继续执行。

例如,如果您有以下代码:

var t = 1;
(function(){
    var t = 2;
    console.log(t);  //* put break point on this line..    
})();
console.log(t);

而你只是一个断点,然后t = 4在控制台中运行,然后将值4打印1到控制台。

于 2012-03-20T12:57:58.273 回答
3

自 2020 年 4 月起,这在 Safari 中成为可能!

https://webkit.org/web-inspector/local-overrides/

于 2020-06-04T21:41:33.777 回答
1

尽管 chrome 和 safari 都使用 webkit 作为引擎,但 chrome 对其进行了自定义和添加。javascript 的实时编辑似乎就是其中之一。

如果您仔细观察,chrome 和 safari 中的调试面板也有许多其他差异。一个清晰可见的变化是 chrome 中存在的设置图标,而这在 safari 中不可用。

于 2012-03-30T08:40:59.967 回答
0

在 Safari 技术预览版 15.4 中尝试:

console.log("I'm live!");

它输出

> "I'm live!"
于 2021-09-28T04:53:55.833 回答