我有一个for的web布局看起来像这样
<html>
<head>
</head>
<body>
<div id="posts">
<div id="post1" class="post" >
<!--stuff 1-->
</div>
<div id="post2" class="post" >
<!--stuff 1-->
</div>
<!-- 96 more posts -->
<div id="post99" class="post" >
<!--stuff 1-->
</div>
</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
我希望能够加载并呈现一个空白的页面,然后在页面加载时调用一个函数进入并加载帖子并动态更新页面.
在Rails中,我尝试使用"link_to_remote"来更新所有元素.如果它是ajax请求(request.xhr?),我还调整了posts控制器以呈现帖子集合.它运行良好,速度非常快.但是,单击链接会触发空白div的更新.我希望在加载页面时发生相同的操作,这样我就不必输入链接.
是否有一个Rails Ajax助手或RJS函数或Rails中的东西,我可以用来在页面加载和渲染(没有帖子)后触发加载"帖子"?
(如果推出了putsch,我将只从link_to_remote调用中复制生成的JS代码,并从主体上的onload处理程序调用它).
在IE 6中完全呈现页面之前,我遇到了一些运行JavaScript的问题(可能还有其他版本,但现在只测试IE6.Firefox似乎没问题).我可以通过这样调用js来解决window.onload这个问题:
window.onload = function(){doIt();}
Run Code Online (Sandbox Code Playgroud)
但是,我担心的是,我将覆盖可能已存在的任何其他内容window.onload.代码将用作库的一部分,因此我不能保证window.onload不会被其他人设置在其他地方.我宁愿将我的函数添加到这样的onload事件:
window.onload += function(){doIt1();}
window.onload += function(){doIt2();}
Run Code Online (Sandbox Code Playgroud)
但是当我这样做时,只会doit2()被召唤.有没有办法在页面完全呈现时注册事件处理程序?我的第二个想法是将我的代码放在一个循环检查中,以确保在运行之前我的所有对象都存在.但我担心这可能会锁定浏览器.
仅仅为了一些背景信息,我的代码隐藏/显示iFrames.我知道我可以使用iFrame的onload属性,但我需要在调用代码之前完全加载所有iFrame.
来自社区的任何想法?在此先感谢您的投入.
身体标签可以保持两个设定的间隔吗?或者有2个函数使用相同的间隔?
例如:
<body onload="setInterval(function1, 500); setInterval(function2, 1000);">
<body onload="setInterval(function1, function2, 500");>
Run Code Online (Sandbox Code Playgroud) 我在这里有点困惑.我认为指定的函数在window.onload页面加载之前没有执行.尽管如此,我在下面的代码中得到一个错误(继承人的jsfiddle版本):
<script>
function updateImage(url){
document.getElementById("foo").src = url;
}
window.onload = updateImage("http://dummyimage.com/100x100/000/fff.png&text=qux");
</script>
<img id="foo" alt="" src="http://dummyimage.com/100x100/000/fff.png&text=bar" />
Run Code Online (Sandbox Code Playgroud)
它给了我:
Error: document.getElementById("foo") is null
Run Code Online (Sandbox Code Playgroud)
将图像移到脚本上方时,一切正常.
我有这个代码和身体
<body onload="mail_receive()">
Run Code Online (Sandbox Code Playgroud)
不会执行它.
function mail_receive() {
document.getElementById("w")="mail receive";
}
Run Code Online (Sandbox Code Playgroud)
它不会显示出来
<div id="w"></div>
Run Code Online (Sandbox Code Playgroud) 我想在加载HTML时在最后执行一个函数.我尝试了onload没有成功.我也尝试过,ready但它仍然无法正常工作.这是我的代码.这再次放在标题中:
<script type="text/javascript">
$(document).ready(function() {
$('#infowindow_content').html('test');
});
</script>
Run Code Online (Sandbox Code Playgroud)
div也由外部JS文件设置.内容:
window.onload = initialize;
function initialize() {
document.getElementById('infowindow_content').innerHTML = 'testa';
}
Run Code Online (Sandbox Code Playgroud)
它在关闭body标签之前包含以下方式:
<script type="text/javascript" src="../lib/functions.js"></script>
Run Code Online (Sandbox Code Playgroud)
我试图将上面的代码放在关闭的body-tag之前,但是目前我不知道为什么这不起作用(内容不会被我的Javascript更改).如果我之后在控制台上执行它一切正常.
解:
我在HTML文件中设置了配置参数(语言).在JS文件中,我要求这个值,并根据值定义另一个内容.有时它可能很简单......
我的问题很简单,如果我有一个像这样的javascript函数onload
<body onload="myFunction()">
Run Code Online (Sandbox Code Playgroud)
这个函数会在PHP的其余部分之前执行吗?
我正在尝试将一些js代码用于:
这是HTML:
<!DOCTYPE html>
<html>
<head>
<script src="js1.js">
cHeader();
</script>
</head>
<body>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
这是js:
function cHeader(){
var header = document.createElement("header");
var body = document.getElementById("body");
body.appendChild(header);
var ul = document.createElement("ul");
header.appendChild(ul);
var li = document.createElement("li");
ul.appendChild(li);
var liNode = document.createTextNode("Home");
li.appendChild(liNode);
}
Run Code Online (Sandbox Code Playgroud)
当我尝试通过html中的任一个<body onLoad="cHeader()">或<script>cHeader()</script>在html中调用该函数时,我在Chrome中的控制台返回:
Uncaught ReferenceError: cHeader is not defined index.html:19
(anonymous function)
Run Code Online (Sandbox Code Playgroud)
虽然,即使我尝试内联脚本标记,代码也不会做任何事情.
我有一个click()函数,应该在页面加载时触发.但它不会 - 只有当你手动点击它.
这是小提琴:http://jsfiddle.net/serw5/
//onload:
$(".pageselector").first().trigger('click');
$(".pageselector").click(function(e){
e.preventDefault();
var pageid = $(this).data('pageid');
alert(pageid);
// ajax....
});
Run Code Online (Sandbox Code Playgroud)
提前致谢
在Edge上打开一个像上面这样的简单html会显示警报.
<html>
<head>
<script>
var onload = function() {
alert('I\'ve been called');
};
</script>
</head>
<body> my body </body>
</html>
Run Code Online (Sandbox Code Playgroud)
更多,如果你添加window.addEventListener('load', onload, false);到你的代码,函数会被调用两次 ..
我有一个网络应用程序,我的onload函数在每个页面上调用两次...
我按顺序有两个问题?
我有两组代码我正在重构.每个都有一个onload.
两者都将在一个站点上自行运行,但我不希望它们覆盖彼此的负载.
所以我有相同的:
window.onload=function(){ alert("foo")};
Run Code Online (Sandbox Code Playgroud)
和
window.onload=function(){ alert("bar")};
Run Code Online (Sandbox Code Playgroud)
在两个文件中.
为了避免一个人覆盖另一个的window.onload赋值,我将它们重构为:
window.onload+=function(){ alert("foo")};
Run Code Online (Sandbox Code Playgroud)
和
window.onload+=function(){ alert("bar")};
Run Code Online (Sandbox Code Playgroud)
但那时似乎既不会发生火灾.
而且因为它似乎有助于我了解情况并且通常只是一个不错的技能,我如何向函数变量添加其他函数?(它与onload相同,还是上传了一个特例?它让我感觉像是一个特殊情况.)
所以如果我有......
var Varrick = function(){ alert("Do the thing!");}
Run Code Online (Sandbox Code Playgroud)
我有
var Zhu_li = function (){ alert("Did the thing."); }
Run Code Online (Sandbox Code Playgroud)
什么会有效的命令
var Varrick = Varrick + Zhuli.
Run Code Online (Sandbox Code Playgroud)
所以...
Varrick(); // Alerts "Do the thing!" then alerts "Did the thing."
Run Code Online (Sandbox Code Playgroud)
注意:我想这样做而不依赖于jQuery.
onload ×11
javascript ×9
function ×3
html ×3
jquery ×2
ajax ×1
iframe ×1
php ×1
rendering ×1
setinterval ×1