来自文件的Javascript src取决于域名

时间:2013-01-10 18:48:47

标签: php javascript iframe

我有档案http://host1.com/links.txt

links.txt包含:

com http://host1.com/1.jpg
info http://host1.com/2.jpg
org http://host1.com/3.jpg

我需要根据主机域从该文件中输入此代码src链接。

a=document.getElementsByTagName('body')[0];
st='iframe';
r=st;
b=document.createElement(r);
b.src=**Here from links.txt**
b.width=300;b.height=300;b.marginHeight=10;b.marginWidth=10;b.frameborder=10;b.align='left';
a.appendChild(b);

例如我有3个其他网站

1. http://site1.com
2. http://site2.info
3. http://site3.org

在每个站点index.php中我需要放置iframe代码,并在源代码中使用:

http://site1.com/index.php 我必须有b.src = http://host1.com/1.jpg

http://site1.info/index.php 我必须有b.src = http://host1.com/2.jpg

http://site1.org/index.php 我必须有b.src = http://host1.com/3.jpg

我该怎么做?

1 个答案:

答案 0 :(得分:2)

如果您可以控制links.txt并可以将其更改为JSON,则可以使用JSONP来阅读它。

您可以使用window.location.hostname获取主机名。

<强> links.php

<?php header('content-type: application/json; charset=utf-8'); ?>

(function(){
    var data = {
        com: 'http://host1.com/1.jpg',
        info: 'http://host1.com/2.jpg',
        org: 'http://host1.com/3.jpg'
    };

    <?php echo $_GET['callback']; ?>(data);
})();

<强>的javascript

$(function(){
    $.ajax({
       type: 'GET',
        url: 'http://mysite.com/links.php?callback=?',
        async: false,
        jsonpCallback: 'jsonpCallback',
        contentType: "application/json",
        dataType: 'jsonp',
        success: function(json) {
           alert(json.info);
           alert(json.com);
           alert(json.org);
        }
    });
});