【问题标题】:Javascript from a URL来自 URL 的 Javascript
【发布时间】:2013-12-09 08:52:09
【问题描述】:

假设我需要垂直移动一个图像,我用这样的代码来做

document.getElementById('ImgID1').style.verticalAlign = 

但是,我需要移动图像的量来自一个 URL(我在下面给出 URL,如果你想看的话),这样如果我将 URL 的内容作为 javascript 执行,结果是"-8px" 这是我想要的吗?但是我到底是如何做到这一点的呢?我怎么说verticalAlign={grab the url, execute as JS, take the return value}

网址是http://latex.codecogs.com/gif.json?\inline%20\mathbb{R}

示例响应:

ParseEqn({ "latex": { "type":"gif", "equation":"\\mathbb{R}", "site":"stackoverflow.com", "file":"f3ed131812d10a06a9349ab2b42e3ed4.gif", "url":"http://www.codecogs.com/eq/f3/f3ed131812d10a06a9349ab2b42e3ed4.gif", "width":"12", "height":"12", "baseline":"1" } });

非常感谢!

山姆

【问题讨论】:

  • 您可以使用 AJAX 来获取 JSON。我建议使用带有 $.get 函数的 jQuery,这正是您要寻找的。顺便说一句,URL 是地址 (http://...),而不是网站。你需要得到的是一个网站,在本例中是一个 JSON 字符串。
  • 这是一个 JSONP 响应。所以发出一个正确的 JSONP 请求,一切都很好。

标签: javascript css json dom vertical-alignment


【解决方案1】:

您可以使用 AJAX 来获取文件 JSON,在您的情况下:

$.getJSON('gif.json', function(data) {

我认为,当您输入网址时,该功能不会用于下载和工作。

var im = document.createElement("IMG")

document.body.appendChild(s); $.getJSON('http://latex.codecogs.com/gif.json?\inline%20\mathbb{R}', 函数(数据) { var items = [];

      $.each(data, function(key, val) {
        if(key=="url")
        im.src=value;
        else if (key="width")
        im.style.width=value;
        else if (key="heigth")
        im.style.heigth=value;
              });
    document.getElementById("yourdive's case").appendChild(im);
    });

我认为你正在寻找这个

【讨论】:

    【解决方案2】:

    查看小提琴以从服务器获取响应。打开控制台进行验证。

    FIDDLE : JQUERY方式

    window.ParseEqn = function(data) {
    alert(data.latex.type);
    }
    
    $.ajax({
        url: 'http://latex.codecogs.com/gif.json?%5Cinline%20%5Cmathbb%7BR%7D',
        crossDomain: true,
    
        contentType: "application/json; charset=utf-8",
        dataType: 'jsonp',
        headers: {"Access-Control-Allow-Origin": '*'
                 },  
    })
    

    JAVASCRIPT方式:Blue skies提出的解决方案

    window.ParseEqn = function(data) {
        alert(data.latex.width);
    }
    
    var s = document.createElement("script")
    s.src = "http://latex.codecogs.com/gif.json?%5Cinline%20%5Cmathbb%7BR%7D";
    s.onload = function() {
        document.body.removeChild(s);
    };
    document.body.appendChild(s);
    

    【讨论】:

    • 为什么你认为它不是有效的 JSONP?为什么要发布 jQuery 解决方案?
    • 我检查了你的两个小提琴。 ParseEqn(...) 是使它成为有效 JSONP 的原因。服务器只是未设置为发送动态函数名称。为这样的小而简单的东西推荐 jQuery 是愚蠢的。当你花了 15 分钟才回复我​​的问题并且我最终投了反对票后才这样做,请不要抱怨人们没有详细说明。
    • 很好..你能建议一个方法吗
    • 我是第一个发布答案的人,效果很好。我删除了我的答案,因为 OP 发布了一个问题然后消失了。我不喜欢帮助那样的人。
    • @BlueSkies:“OP 消失”是什么意思?
    猜你喜欢
    • 1970-01-01
    • 2014-12-30
    • 1970-01-01
    • 1970-01-01
    • 2017-06-24
    • 1970-01-01
    • 2012-01-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多