Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/392.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
Javascript 仅在iframe中运行扩展_Javascript_Iframe_Cross Browser_Browser Extension_Crossrider - Fatal编程技术网

Javascript 仅在iframe中运行扩展

Javascript 仅在iframe中运行扩展,javascript,iframe,cross-browser,browser-extension,crossrider,Javascript,Iframe,Cross Browser,Browser Extension,Crossrider,我正在编写一个扩展,我希望部分代码只在iFrame中运行。目前,extensuin.js文件中的所有代码都在页面和iframe中运行。如何检测代码是否在iframe中运行,以便运行特定于iframe的代码 举个例子(这不是真正的代码),我的extension.js应该是: appAPI.ready(function($) { if (iframe) { // Run iframe code } else { // Run on regular page } });

我正在编写一个扩展,我希望部分代码只在iFrame中运行。目前,extensuin.js文件中的所有代码都在页面和iframe中运行。如何检测代码是否在iframe中运行,以便运行特定于iframe的代码

举个例子(这不是真正的代码),我的extension.js应该是:

appAPI.ready(function($) {
  if (iframe) {
    // Run iframe code
  } else {
    // Run on regular page
  }
});

您可以通过使用来确定扩展代码是否在iframe中运行来实现目标。因此,使用您的示例,代码是:

appAPI.ready(function($) {
  if (appAPI.dom.isFrame()) {
    // Run iframe code
  } else {
    // Run on regular page
  }
});

[披露:我是一名Crossrider员工]

可能的重复:@Inferpse您的评论实际上并不正确,因为在运行扩展上下文时,您引用的记录单中的响应在所有情况下都不起作用。有关正确的方法,请参见我的答案。[披露:我是一名Crossride员工]