HTMLIFrameElement.executeScript() 编辑
Warning: Removed in Firefox 65.
The executeScript()
method of the HTMLIFrameElement
interface allows a specified script to be executed against a page loaded in the browser <iframe>
.
Note: Use of the Browser API requires a privileged app, and browser
and/or embed-apps
permissions, depending on what you want to do. See Using the Browser API for more details.
Syntax
var myDOMRequest = instanceOfHTMLIframeElement.executeScript(script, options);
Return value
A DOMRequest
object that returns an onsuccess
handler if the script is successfully executed against the loaded content, or an onerror
handler if not.
Parameters
- script
- The script to be executed.
- options Optional
- Optionally, you can provide an origin or URL for the script to be executed against. It's recommended that you include an origin or URL, in order to ensure that the script is being executed in the expected context:
origin
: an origin, e.g.http://example.com
url
: a URL, e.g.http://example.com/index.html
Note: The options parameter does not currently seem to have much effect. The script seems to execute even if a URL/origin is specified.
Examples
var request1 = browser.executeScript(
var a = 3;
a + 3
, {url: 'http://example.com/index.html'});
request1.onsuccess = function() {
console.log(request1.result); // 6
}
var request2 = browser.executeScript(
new Promise((resolve, reject) => {
setTimeout(function() {
resolve(6);
}, 1000})
)
, {origin: 'http://example.com'});
request2.onsuccess = function() {
console.log(request2.result); // 6
}
If the script value is a not a Promise
, it is simply returned as the request value. If the script value is a Promise, the result of the request will be the Promise-resolved value.
Specifications
Not part of any specification.
Browser compatibility
Supported since Firefox 47, in chrome code only. Removed completely in Firefox 65.
Unlikely ever to be supported in other browsers.
See also
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论