相关疑难解决方法(0)

onload与ifEventListener('load')的iframe行为

我一直在玩将隐藏的iframe元素添加到页面中,并且我希望在加载后操纵这些元素的DOM.我注意到,在将iframe添加到页面后,我无法立即开始操作DOM,因为它还没有加载.这不能用DOMContentLoaded事件来完成,因为它会触发iframe中不存在的文档,直到它被添加到页面中,因此我们必须使用该load事件.

这是一些测试代码:

var iframe = document.createElement('iframe');
iframe.onload = function() { console.log('loaded!'); };
document.getElementsByTagName('body')[0].appendChild(iframe);
Run Code Online (Sandbox Code Playgroud)

这按预期工作,但是当我将其更改为addEventListener它甚至没有添加到DOM:

var iframe = document.createElement('iframe');
iframe.addEventListener('load', function() { console.log('loaded!'); });
document.getElementsByTagName('body')[0].appendChild(iframe);
Run Code Online (Sandbox Code Playgroud)

我还没有attachEvent在IE中测试过.

有人对此有所了解吗?

html javascript iframe onload-event

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

替代"$(document).ready"功能

我在aspx页面中使用fancybox.文档就绪功能在此页面中不适用于灯箱.有人告诉我要写一个新的javascript代码来加载该页面中的灯箱.

asp.net jquery fancybox document-ready

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

完成ASP.NET页面加载后运行javascript函数

我需要在页面完成后从ASP.NET代码运行一个javascript函数.

到目前为止我已经使用了这个代码,但它返回"undefined",因为当javascript函数被触发时,隐藏字段没有填充值.

我该怎么办?Thanx提前.

ASPX:

  <asp:HiddenField runat="server" ID="ColorHiddenField" ClientIDMode="Static" Value="0" />
Run Code Online (Sandbox Code Playgroud)

使用Javascript:

    function HandleColors() {
        alert($('#<%= ColorHiddenField.ClientID %>').val());
    }
Run Code Online (Sandbox Code Playgroud)

代码背后:

  ColorHiddenField.Value = item.Color;
  ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "script", "HandleColors();", true);
Run Code Online (Sandbox Code Playgroud)

javascript c# asp.net jquery

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

如何知道元素是否被渲染?

我的元素有 transition: transform .5s

然后它有一个单独的类: transform: translatex(-100%)

所以我想要实现的是,最初,元素位于左侧. 在窗口上载,渲染元素时,我删除了变换类,浏览器会将元素设置为正确的位置.

但实际发生的是,当页面变得可见/渲染时,元素已经处于正确的位置.并且没有动画.

我试过setTimeout(function() {}, 0);它不起作用.如果我setTimeout 1秒,它可以工作,但有时渲染需要很长时间,我必须setTimeout 2秒.但有时它会变得很快,2秒钟需要等待很长时间.

总的来说,我觉得这不是一种可靠或正确的方法.

我怎样才能达到我想要的,正确的方法?


编辑:对不起家伙,在尝试组装演示后,我意识到我没有在窗口上卸载类.这是因为我的元素及其javascript和css都加载了AJAX.所以它可以在窗口加载之前或窗口加载之后发生.

无论如何,现在我的问题是,如果窗口需要很长时间才能加载怎么办?是否有可能在窗口加载之前渲染我的元素?或者浏览器仅在整个窗口完成加载时呈现?

因为我想尽快为元素制作动画.那么,在窗口需要很长时间才能加载(图像和连接缓慢,以及东西)的情况下,等待窗口加载是否安全?

如果我在窗口加载后用AJAX加载元素,我可以通过删除转换立即运行动画吗?或者我应该检测元素何时被渲染?

javascript css

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

如何在需要等待内容加载的动态页面上使用JSON-LD添加结构化数据?

我正在开发一个网站,我想将结构化数据添加到详细页面.问题是我需要在知道要添加到JSON-LD脚本的内容之前请求数据.

我使用Parse作为后端.我还试图寻找有关如何实现这一目标的教程,但似乎无法动态添加JSON-LD.

我真的希望有人可以帮助我!:)

编辑:

在DOM准备好之后,我需要在JSON-LD中添加数据的响应.这种情况下的模式是什么?

我有一个项目列表,当点击其中一个项目时,我必须打开一个我必须先加载的详细信息页面,但是在加载内容之后我想通过JSON-LD提供结构化数据.

我刚开始,我很难解决这个问题.

编辑2:

这是我的实际实现:

在HTML中:

<body>
    // my html page code
    ...
    <script type="text/javascript">
        loadDetailPageContent();
    </script>
</body>
Run Code Online (Sandbox Code Playgroud)

在JS中:

function loadDetailPageContent() {
    // Calling the method here is too early because I don't have info
    //writeData();
    createDetailPage();
}

function createDetailPage() {
    var recipe = Parse.Object.extend("Recipe");
    var query = new Parse.Query(recipe);
    query.equalTo("objectId", myId);
    query.first({
        success: function(result) {
            // Calling the method here would be perfect
            writeData();
        },
        error: function(error) {
            alert("Error: " + error.code + " " …
Run Code Online (Sandbox Code Playgroud)

json structured-data parse-platform json-ld

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

如何自动执行javascript?

如何自动执行javascript?

我知道<body onLoad="">,但我想也许还有另一种方法可以做到这一点?

HTML:

<html><head></head><body><div id="test"></div></body></html>
Run Code Online (Sandbox Code Playgroud)

JavaScript的:

<script>(function(){var text = document.getElementById('test').innerHTML;var newtext = text.replace('', '');return newtext;})();</script>
Run Code Online (Sandbox Code Playgroud)

我想在"测试"中获取文本,替换某些部分,然后将其输出到浏览器.

关于如何做的任何想法?我很感激任何帮助.谢谢.

javascript

9
推荐指数
2
解决办法
7万
查看次数

无法读取未定义的属性"样式" - 未捕获的类型错误

我想更改html页面的span元素中文本的颜色,字体大小和字体粗细.

我使用以下代码:

if(window.location.href.indexOf("test") > -1){
    var search_span = document.getElementsByClassName("securitySearchQuery");
    search_span[0].style.color = "blue";
    search_span[0].style.fontWeight = "bold";
    search_span[0].style.fontSize = "40px";
}
Run Code Online (Sandbox Code Playgroud)

以下是我的html页面的代码

<h1 class="keyword-title">Search results for<span class="securitySearchQuery"> "hi".</span></h1>
Run Code Online (Sandbox Code Playgroud)

我想通过id获取元素,但不幸的是它们只有类和没有id.我没有权限更改html代码,只是将js代码添加到网站外部.

我试图查看其他stackoverflow帖子,但可以找到解决方案.我是js和css的新手,请告诉我哪里出错了.

这是我在Chrome浏览器中收到的错误的屏幕截图

html javascript css dom javascript-objects

8
推荐指数
2
解决办法
6万
查看次数

Javascript:检测窗口何时完全加载

我有一个脚本,可以在网页生命周期的任何阶段加载.加载脚本时,它必须运行initialize()方法.

我希望这个函数在"onload"事件上运行,但是我不能确定页面还没有加载,即"onload"还没有被解雇.

理想情况下,我的脚本看起来像这样:

var _initialize = function() { ...};

if(window.LOADED)
    _initialize();
else if (window.addEventListener)
    window.addEventListener('load', _initialize, false); 
else if (window.attachEvent)
    window.attachEvent('onload', _initialize);
Run Code Online (Sandbox Code Playgroud)

有没有这样的window.LOADED或document.LOADED变量或类似的东西?

谢谢,谢恩

javascript events load

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

纯 JavaScript 相当于 JQuery $(this)

我在下面给出了一个简单的 jQuery 代码示例:

$(".black").on("click", function() {
    $(this).css("color", "red");
});
Run Code Online (Sandbox Code Playgroud)

当单击具有 'black' css 类的元素时,特定元素的(此)颜色变为红色。

现在,如何用纯 JavaScript 编写上述代码?请告诉我 Jquery $(this) 在用于类选择器时的 JavaScript 等价物。

javascript jquery

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

将外部页面html插入页面html

我想在我的网页中加载/插入外部html页面.示例:

<b>Hello this is my webpage</b>
You can see here an interresting information :

XXXX

Hope you enjoyed
Run Code Online (Sandbox Code Playgroud)

XXXX应该由一个小的脚本(尽可能小),该加载页面等代替http://www.mySite.com/myPageToInsert.html

我用jquery找到了以下代码:

<script>$("#testLoad").load("http://www.mySite.com/myPageToInsert.html");</script>    
<div id="testLoad"></div>
Run Code Online (Sandbox Code Playgroud)

我不想使用外部javascript库作为jquery ...

html javascript

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