Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google chrome 从自定义扩展访问“Chrome开发工具移动仿真器”_Google Chrome_Google Chrome Extension_Google Chrome Devtools - Fatal编程技术网

Google chrome 从自定义扩展访问“Chrome开发工具移动仿真器”

Google chrome 从自定义扩展访问“Chrome开发工具移动仿真器”,google-chrome,google-chrome-extension,google-chrome-devtools,Google Chrome,Google Chrome Extension,Google Chrome Devtools,我正在尝试从自定义扩展访问“Chrome开发工具移动模拟器” 我知道我无法从自定义扩展打开开发工具 有没有办法从自定义扩展触发mobile emulator?如果是,指导/教程将提供很大帮助 我需要的-我从扩展中选择一个移动设备,浏览器将更改视口、用户代理、传感器以模拟所选设备。简而言之,我需要开发工具mobile emulator的副本 任何帮助/链接/代码/扩展链接都会非常有用 您必须通过devtools协议使用setDeviceMetricsOverride。您可以通过chrome.deb

我正在尝试从自定义扩展访问“Chrome开发工具移动模拟器”

我知道我无法从自定义扩展打开开发工具

有没有办法从自定义扩展触发mobile emulator?如果是,指导/教程将提供很大帮助

我需要的-我从扩展中选择一个移动设备,浏览器将更改视口、用户代理、传感器以模拟所选设备。简而言之,我需要开发工具mobile emulator的副本

任何帮助/链接/代码/扩展链接都会非常有用

您必须通过devtools协议使用setDeviceMetricsOverride。您可以通过chrome.debugger chrome扩展API访问它。您将使用该方法以及其他方法来设置UA等

示例来自:

chrome.debugger.sendCommanddebuggeeId,Network.enable,{},onResponse; chrome.debugger.sendCommanddebuggeeId,Network.setUserAgentOverride{ userAgent:deviceData.userAgent},onResponse; chrome.debugger.sendCommanddebuggeeId,Page.enable,{},onResponse; chrome.debugger.sendCommanddebuggeeId,Page.setDeviceMetricsOverride{ 宽度:deviceData.width/deviceData.deviceScaleFactor, 高度:deviceData.height/deviceData.deviceScaleFactor, deviceScaleFactor:deviceData.deviceScaleFactor, EmulateView端口:正确, 菲特:是的, text自动调整大小:正确, fontScaleFactor:1 },无应答;
通读远程调试协议。听起来像是:1目前不可能,2很好的功能,你能添加一个最小的例子吗?chrome.debugger文档不是最冗长的。@Paul-谢谢您的时间,实际上我早就解决了,忘了更新question@Xan我已经用示例编辑了答案,正在等待Paul批准。@onsy该编辑可能会被审核队列拒绝;添加你自己的答案,这并不会对这一个造成不利影响。我已经内联了@onsy的例子。我还添加了我的chrome扩展。补充我的答案。我的答案也被维基化了。
chrome.debugger.sendCommand(debuggeeId, "Network.enable", {}, onResponse);

  chrome.debugger.sendCommand(debuggeeId, "Network.setUserAgentOverride", {
    userAgent: deviceData.userAgent}, onResponse);

  chrome.debugger.sendCommand(debuggeeId, "Page.enable", {}, onResponse);

  chrome.debugger.sendCommand(debuggeeId, "Page.setDeviceMetricsOverride", {
    width: deviceData.width / deviceData.deviceScaleFactor,
    height: deviceData.height / deviceData.deviceScaleFactor,
    deviceScaleFactor: deviceData.deviceScaleFactor,
    emulateViewport: true,
    fitWindow: true,
    textAutosizing: true,
    fontScaleFactor: 1
  }, onResponse);