通过js更改iframe-src
Change iframe src through js
因此,直接面对问题,我正在编写一个js,如果屏幕分辨率更改,它应该会更改iframe的src
<script language="javascript">
function newframe()
{
var w = screen.width;
var srchframe = document.getElementById("proj");
var targetURL1 = "http://wms.indianpropertynetwork.com/exchange/frames/clients.featured_projects.asp?cnt=5&wd=880&prj=1";
var targetURL2 = "http://lpm.indianpropertynetwork.com/exchange/frames/clients.featured_projects.asp?cnt=4&wd=668&prj=1";
if (srchframe.src != targetURL1 && w > 1300 )
{srchframe.src = targetURL1 }
else
{ srchframe.src = targetURL2 }
}
</script>
并在以下iframe 中调用此函数
<iframe id="proj" onload="newframe();" marginwidth="0" marginheight="0" width="100%" height="200px" frameborder="0" scrolling="No" ></iframe>
脚本的问题是,它一直以交替的顺序加载url,并且不会停止加载。
您正在使用onload处理程序来启动另一个加载周期,因此持续重新加载似乎是您的代码想要做的。
您的代码:
-
如何在iframe中加载页面?调用newFrame()。这是在您的代码读取
onload="newframe();"
中 -
newFrame()正在设置frames-src,导致它加载另一个页面。在
newframe()
的任何调用中,您的if
都会将新URL分配给srchframe
的src
。如果当前不是URL 1,则加载URL 1,否则加载URL 2,实际上会导致交换两个URL。 -
由于在2中切换了页面。将触发另一个加载事件。
关键问题是:通过将URL分配给srchframe.src
,该框架的页面将被替换以加载另一个页面。因此,不要调整iframe的src属性,除非它实际上打算以这种方式加载另一个页面。
基本上你应该尝试不同的方法。按照最初的描述:
如果屏幕分辨率更改,则应更改iframe的src
所以不应该绑定到iframe的onload事件,而应该绑定到外窗口的onresize事件。尽管这并不是为了改变屏幕分辨率,但它比你的方法要好。最终,按照我对这篇文章的回答,尝试媒体提问:https://stackoverflow.com/questions/23198520/website-adapting-to-different-monitor-sizes/23198630#23198630
在每次更改src时调用onLoad时,只执行一次函数,为此,您可以在bool的帮助下执行,下面是您可以使用的代码:
HTML:
<script language="javascript">
var newFrameCalled = false;
function newframe()
{
if(newFrameCalled)
return;
var w = screen.width;
var srchframe = document.getElementById("proj");
var targetURL1 = "http://wms.indianpropertynetwork.com/exchange/frames/clients.featured_projects.asp?cnt=5&wd=880&prj=1";
var targetURL2 = "http://lpm.indianpropertynetwork.com/exchange/frames/clients.featured_projects.asp?cnt=4&wd=668&prj=1";
if (srchframe.src != targetURL1 && w > 1300 )
{srchframe.src = targetURL1 }
else
{ srchframe.src = targetURL2 }
newFrameCalled = true;
}
</script>
希望这能有所帮助。
- 在不设置协议的情况下,使用javascript/jquery更改iframe-src
- 如何更改具有相同类、名称的 iframe src
- 用vbscript更改iframe src(打开关于语言)
- 使用输入类型text更改iframe-src
- 更改iframe src可阻止父级隐藏
- 使用 JavaScript 更改 iframe src
- 使用jquery检测iframe-src更改
- iframe-css-src更改,如果父css src更改
- AngularJS - 如何在 iframe 元素更改时读取 SRC 属性
- 通过选择框“选项”更改 Iframe SRC
- 如何在 iframe src 更改时触发函数
- iframe src 网址无意中更改了父网址
- 如何更改 iframe src
- JavaScript 不会正确更改 iframe src
- 如何在 iframe src 更改后立即更改 iframe 组件的值
- 将 iframe 的 src=“” 更改为 javascript:
- iframe 在 src 更改后不加载内容 |Javascript
- 将 iframe src 更改为用户输入的 HTML 代码
- 跨域iframe src更改
- 基于 iframe src 更改类