我正在研究一个项目并遇到一个问题,我需要将Chrome应用程序窗口与普通应用程序窗口区分开来。 (特别是我正在使用来自bash脚本的--app=URL
)由于设置的方式,我必须在所有窗口上运行js脚本,但只有在它们是应用程序窗口时才会执行某些操作。似乎列出here的API是我需要将一个窗口与另一个窗口区分开来的,但我设法得到的都是错误,表示函数或对象未定义。那么我怎么想用window.type
这样的API从API中获取窗口类型呢?
另外,如果您知道某些其他方法来区分Chrome窗口,如果它们是应用程序窗口,那么这也可以。我真的只需要能够做到:
if (window is app) //I don't really care how it's done
{
doSomething();
}
更多信息:
你能试试以下吗?在你的控制台中
windowType=window.location.host
它应该返回,如果你在应用程序窗口中它将返回“app”。使用它你可以编写你的逻辑
if (windowType === 'app' ) //I don't really care how it's done
{
doSomething();
}
希望能帮助到你。
做windowType.window.location.host
不是返回窗口的类型,而是返回在我的bash脚本中提供--app=url
标志的url。这意味着如果您打开一个普通窗口并转到应用程序窗口中提供的相同URL,则两者都将返回相同的URL。但是,由于普通窗口只是一个不同的窗口类型相同的内容,我需要在网页上运行的JavaScript代码是相同的,因此我希望它在两个窗口上运行。所以这个解决方案对我有用,但是对于那些正在寻找窗口特定标识符而不仅仅是网址的人来说,我想这仍然是悬而未决的。
(感谢Ragavan Rajan)