相关疑难解决方法(0)

页面加载后执行的JavaScript

我正在使用<script>内部执行外部脚本<head>.

现在,由于脚本页面加载之前执行,我无法访问<body>其中的内容.在文档被"加载"(HTML完全下载并在RAM中)后,我想执行一些JavaScript.我的脚本执行时是否有任何可以挂钩的事件,这些事件会在页面加载时触发?

html javascript pageload dom-events

666
推荐指数
14
解决办法
138万
查看次数

Facebook如何检查用户是否喜欢页面和显示内容?

我正在尝试创建一个Facebook iFrame应用程序.应用程序应首先显示图像,如果用户喜欢该页面,他将可以访问某些内容.

我使用RoR,因此我无法使用Facebook PhP SDK.

当用户不喜欢该页面时,这是我的iFrame HTML:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<link rel="stylesheet" type="text/css" href="style.css" />
<style type="text/css">
body {
width:520px;
margin:0; padding:0; border:0;
font-family: verdana;
background:url(repeat.png) repeat;
margin-bottom:10px;
}
p, h1 {width:450px; margin-left:50px; color:#FFF;}
p {font-size:11px;}
</style>
<meta http-equiv="Content-Type" content="text/html;
charset=iso-8859-1" />
</head>
<body>
<div id="container">
<img src="welcome.png" alt="Frontimg">
</div>
Run Code Online (Sandbox Code Playgroud)

并且,如果用户喜欢该页面:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<link rel="stylesheet" type="text/css" href="style.css" />
<style type="text/css">
body …
Run Code Online (Sandbox Code Playgroud)

javascript jquery facebook ruby-on-rails ruby-on-rails-3

53
推荐指数
3
解决办法
10万
查看次数

Javascript错误Null不是对象

我在Web Inspector中收到错误,如下所示:

TypeError: 'null' is not an object (evaluating 'myButton.onclick = function() {
var userName = myTextfield.value;
greetUser(userName);

return false;

}')
Run Code Online (Sandbox Code Playgroud)

这是我的代码(HTML):

<h2>Hello World!</h2>
<p id="myParagraph">This is an example website</p>

<script src="js/script.js" type="text/javascript"></script>

<form>
  <input type="text" id="myTextfield" placeholder="Type your name" />
  <input type="submit" id="myButton" value="Go" />
</form>
Run Code Online (Sandbox Code Playgroud)

这是JS:

var myButton = document.getElementById("myButton");
var myTextfield = document.getElementById("myTextfield");

function greetUser(userName) {
var greeting = "Hello " + userName + "!";
document.getElementsByTagName ("h2")[0].innerHTML = greeting;
}

myButton.onclick = function() {
var userName = …
Run Code Online (Sandbox Code Playgroud)

html javascript html5

21
推荐指数
2
解决办法
11万
查看次数

如何在window.load之前和加载DOM之后执行代码?

好的,这就是情况:我有2页:

  • 1 x html页面
  • 1个外部JavaScript

现在在html页面中,将有内部javascript编码,以允许放置'window.onload',以及其他页面特定的方法/功能.

但是,在外部javascript中,我希望在触发'window.onload'事件之前完成某些事情.这是为了允许首先初始化定制组件.

有没有办法确保在触发'window.onload'事件之前在外部javascript中进行初始化?

我之所以这样说的原因,就是尝试制作可重用的代码(构建一次 - 全部使用),外部脚本必须在主html/jsp/asp中的javascript之前检查它是否在'order/check'中/ php页面接管.而且我也不是在寻找JQuery @ _ @的解决方案

以下是stackoverflow.com上的一些链接我已经浏览了解决方案:
- Javascript - 如何检测文档是否已加载(IE 7/Firefox 3)
- 如何检查页面是否已完全加载(脚本和所有)?
- 页面完全加载时执行Javascript

有人可以帮助或指导我找到解决方案吗,你的帮助将是非常值得赞赏的,请 - 谢谢:D

此致,克雷格


[更新回复 - 2012年11月19日]

大家好,感谢您的建议和建议的解决方案,它们在搜索和测试可行解决方案时都非常有用.虽然我觉得我对自己的成绩并不是百分之百满意,但我知道你的建议和帮助让我更接近解决方案,并且可能确实在类似的情况下帮助其他人.

以下是我的想法:

test_page.html

<html>
<head>
<title></title>
<script type="text/javascript" src="loader.js"></script>
<script type="text/javascript" src="test_script_1.js"></script>
<script type="text/javascript" src="test_script_2.js"></script>
<script type="text/javascript">
window.onload = function() {
    document.getElementById("div_1").innerHTML = "window.onload complete!";
}
</script>

<style type="text/css">
div {
    border:thin solid #000000;
    width:500px;
}
</head>
<body>
    <div id="div_1"></div>

    <br/><br/>

    <div id="div_2"></div>

    <br/><br/>

    <div id="div_3"></div>
</body> …
Run Code Online (Sandbox Code Playgroud)

javascript javascript-events

19
推荐指数
1
解决办法
6万
查看次数

打开窗口并在该窗口上运行函数

我想打开一个新窗口,该窗口有一个对象列表,并且应根据前一个窗口中的选择来过滤这些对象。我想我可以通过函数过滤列表,但是如何运行该函数?

这就是我能够做的:

var popup = window.open('pageURL');
    $(popup.document).ready(function() {
        // this is where function should be
        popup.alert('HelloWorld');
    });
Run Code Online (Sandbox Code Playgroud)

但是如何将警报更改为功能呢?

如果我的其他应用程序上有一个函数,function test() { alert('HelloWorld'}; 如何从我的第一个应用程序中运行该函数?

交换没有用popup.alert('HelloWorld');popup.test();

javascript jquery angularjs

5
推荐指数
1
解决办法
1万
查看次数

Django/jQuery:处理模板继承和JS文件加载

在Django中,如何在实际使用之前处理需要等待JS文件加载的事实?

让我们看看这个例子的问题:

base.html文件

<!DOCTYPE html>
<html>

<head>...</head>
<body>
    {% include "content.html" %}

    <script src="jquery.js"></script>
    <script src="awesome-script.js"></script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

content.html

<script>
    $(document).ready(function(){
        ...
    });
</script>
Run Code Online (Sandbox Code Playgroud)

这在逻辑上失败($ is undefined).我可以在调用脚本之前加载jQuery,但我试图避免在我的主要内容之前加载JS文件以尽可能快地加载网站.

那么,我该怎么办?谢谢.

javascript python django jquery django-templates

3
推荐指数
2
解决办法
2640
查看次数

Javascript页面是完全加载的布尔检查

window.onload如果没有在里面设置变量,有没有办法检测页面是否已完成加载?

我在一个可能或可能没有完全加载的页面中注入了一些第三方JS.我无法修改页面.我不能使用JQuery.

我可以添加一个函数并重复轮询,直到它返回true(页面满载).有任何想法吗?

javascript

2
推荐指数
2
解决办法
9790
查看次数

加载页面时运行代码

这里那里没有回答这个问题。这些问题措辞不佳,答案都是“使用DOMReady”。

我想确保代码仅在页面加载完成后运行。我不能改变 HTML 文件本身,但如果可以,我会做一些这样的事情:

<!DOCTYPE html>
<html>
  <head>
    <script>window.loaded=false;</script>
  </head>
  <body onload="window.loaded=true;">
    <!-- ... -->
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

然后在我的代码中:

if (window.loaded) { run(); }
else { document.addEventListener("load", run); }
Run Code Online (Sandbox Code Playgroud)

这将实现我想要的。不幸的是,我无法修改 HTML,这意味着我正在寻找一种仅从 JS 代码确定文档是否已加载而不是DOM 是否已准备就绪)的方法。

我环顾四周,但到目前为止,我发现的所有内容都围绕 DOMReady。真的没有人找过这个吗?

javascript load

1
推荐指数
1
解决办法
2185
查看次数