iframe contentWindow 如何判断是否有值
时间: 2023-07-12 13:31:32 浏览: 51
可以通过判断 `iframe` 的 `contentWindow` 是否为 `null` 或 `undefined` 来判断是否有值。例如:
```javascript
if (iframe.contentWindow) {
// do something
} else {
// do something else
}
```
另外,还可以通过 `try...catch` 语句来捕获访问 `contentWindow` 时的异常,判断是否有值。例如:
```javascript
try {
if (iframe.contentWindow) {
// do something
} else {
// do something else
}
} catch (e) {
// do something else
}
```
但需要注意的是,由于跨域访问的限制,如果 `iframe` 的内容来自不同的域名,访问 `contentWindow` 时可能会抛出安全异常,此时无法判断是否有值。
相关问题
iframe调用contentWindow.print()如何判断是否有值
如果要判断 `iframe` 中是否有可打印内容,可以通过以下方式:
1. 判断 `iframe` 是否有子节点,如果没有,则视为没有可打印内容,否则视为有可打印内容。例如:
```javascript
const iframe = document.querySelector('iframe');
if (iframe && iframe.childNodes.length > 0) {
iframe.contentWindow.print();
} else {
console.log('No content to print');
}
```
2. 判断 `iframe` 中的页面是否加载完成,如果没有,则视为没有可打印内容,否则视为有可打印内容。例如:
```javascript
const iframe = document.querySelector('iframe');
iframe.onload = function() {
if (iframe.contentWindow.document.readyState === 'complete') {
iframe.contentWindow.print();
} else {
console.log('No content to print');
}
}
```
需要注意的是,由于跨域访问的限制,如果 `iframe` 的内容来自不同的域名,访问 `contentWindow` 时可能会抛出安全异常,此时无法打印 `iframe` 的内容。
如何判断iframe标签里是否有值
如果要判断 `iframe` 标签里是否有值,可以通过以下方式:
1. 判断 `iframe` 的 `src` 属性是否为空,如果为空,则视为没有值,否则视为有值。例如:
```javascript
const iframe = document.querySelector('iframe');
if (iframe && iframe.src) {
// do something
} else {
// do something else
}
```
2. 判断 `iframe` 是否有子节点,如果没有,则视为没有值,否则视为有值。例如:
```javascript
const iframe = document.querySelector('iframe');
if (iframe && iframe.childNodes.length > 0) {
// do something
} else {
// do something else
}
```
需要注意的是,如果 `iframe` 的内容来自不同的域名,访问 `contentWindow` 时可能会抛出安全异常,此时无法访问 `iframe` 的内容。