在不使用PHP的情况下在网站上调用外部PHP脚本

时间:2011-12-16 15:39:05

标签: php javascript

我的问题如下:我的合作伙伴有网站,我希望合作伙伴可以在我的服务器中添加一个动态生成链接和图像的脚本。

即。 myscript.php(在我的服务器上)生成以下输出:

<a href="http://www.myserver.com/apples.php?12345">
<img src="http://www.myserver.com/images/12345.png" />
</a>

我不希望我的合作伙伴受到任何PHP脚本的困扰,因此现在最好的解决方案是为它们提供iframe,其中src是我的服务器上生成上面输出的脚本的链接。

但是我显然无法控制我的合作伙伴的网站,即从iframe中打开一个灯箱肯定无法使用。

因此我尝试了不同的方法。我使用Ajax动态加载我的脚本,但是由于ajax安全功能,你也无法工作(你不能通过ajax调用外部脚本 - 只有当你执行php解决方法时)。

所以基本上,我的问题是:在合作伙伴网站上的我的服务器上调用我的脚本是否有任何好的解决方案,并在我的合作伙伴网站上显示生成的代码使用php?

3 个答案:

答案 0 :(得分:2)

让您的PHP生成JavaScript(不要忘记内容类型标题)。然后,他们可以使用<script>元素包含它。

答案 1 :(得分:1)

制作一个PHP文件,例如

<?php
$url = "http://www.myserver.com/apples.php?12345";
$img = "http://www.myserver.com/images/12345.png";
echo "document.getElementById('divthing').innerHTML = '<a href=\"" . $url . "\"><img src=\"" . $img . "\" /></a> '";
?>

您的合作伙伴的页面如下:

<html>
<body>
Hey, check this site out: <div id="divthing"></div>
<script type="text/javascript" src="http://yoursite.com/script.php"></script>
</body>
</html>

(我知道,不是很干净的代码(innerHTML等),但你应该明白这一点:))

答案 2 :(得分:0)

你可以使用javascript文件来替换/创建那个你放置javascript链接的锚。

picture.js:

$('#image').ready(function(){
  var image = 'http://host/url/to/image.jpg';
  $('#image').load(image);
});

在您的合作伙伴网站上:

<div id="image">
 <script type="text/javascript" src="http://yourhost/picture.js"></script>
</div>

我不知道是否可能,但是...... :)这需要jQuery。我慢了。