Javascript 通过下拉菜单更改iframe src不会';t加载新的iframe
我在这里使用了一些示例,但是如果不“重置”下拉菜单(选择没有值的“pick resort”选项),我似乎无法加载新的iframe。选择新选项后,是否有方法动态更改iframe 这是一把小提琴:Javascript 通过下拉菜单更改iframe src不会';t加载新的iframe,javascript,jquery,html,iframe,src,Javascript,Jquery,Html,Iframe,Src,我在这里使用了一些示例,但是如果不“重置”下拉菜单(选择没有值的“pick resort”选项),我似乎无法加载新的iframe。选择新选项后,是否有方法动态更改iframe 这是一把小提琴: 你的火药预测 选择一个位置,看看谁会被击中 皮克度假村 波士顿 韦尔 见预测 var urlSelect=document.getElementById('selectResort'), myFrame=document.getElementById('myFrame'); 函数loadPages(){
你的火药预测
选择一个位置,看看谁会被击中
皮克度假村
波士顿
韦尔
见预测
var urlSelect=document.getElementById('selectResort'),
myFrame=document.getElementById('myFrame');
函数loadPages(){
var loc=urlSelect.value;
//您还可以执行->myFrame.src=loc;
myFrame.setAttribute('src',loc);
}
首先设置src=”“
,然后在最小延迟后,将其设置为所需的src
:
您需要向其中一个URL添加一个参数,以便将它们彼此区分开来。我认为浏览器将它们视为相同的URL,因为它们都以
http://forecast.io/embed/#lat=
。尝试以下方法。注意我是如何在第二个URL中添加不同的:
<option value="http://forecast.io/embed/#lat=42.3583&lon=-71.0603&name=Downtown Boston&font=inherit">Boston</option>
<option value="http://forecast.io/embed/?different#lat=39.6061&lon=-106.3571&name=Vail&font=inherit">Vail</option>
波士顿
韦尔
虽然我认为这不适用于您的情况,但这可能也很有趣:
有些网站不允许自己加载到iframe中。他们通过设置。当我改变你的http://forecast.io
URL到http://apple.com
和http://rogers.com
,一切正常。但是,当我将它们更改为http://google.com
和http://microsoft.com
,Chrome抛出了以下错误。这是因为Microsoft和Google网站不允许将自己加载到外部网站的iframe中
拒绝显示'http://www.microsoft.com/fr-ca/'在框架中,因为它将'X-frame-Options'设置为'SAMEORIGIN'。
如果您在控制台中检查该小提琴,则单击按钮时表示该功能未定义。在小提琴中工作:如果您在左侧工具栏上添加jQuery时选择了无环绕体
选项。应该也可以在您的网页中使用。您能告诉我如何读取select选项的值吗?@LGSon-HTMLSelectElement接口的value
属性在中定义,并记录在中,非常感谢,长期以来一直使用旧方法,完全错过了此方法。但是text
属性仍然是旧方法。
function loadPages() {
myFrame.src = "";
setTimeout(function () {
myFrame.src = urlSelect.value;
}, 0);
}
<option value="http://forecast.io/embed/#lat=42.3583&lon=-71.0603&name=Downtown Boston&font=inherit">Boston</option>
<option value="http://forecast.io/embed/?different#lat=39.6061&lon=-106.3571&name=Vail&font=inherit">Vail</option>