2013-05-17 62 views
0

好吧,我的任务是与第三方供应商合作,在他们的最后显示电影时间。我们有机会在我们的网站上共同推出我们的网站,为此,我们需要创建我们网站的包装,以便电影时间可以显示在包装内部,因此它仍然看起来像您在我们的网站上。一种选择是通过js外部文件包含页眉和页脚,这样我们就可以对我们进行更改,并且更新将显示在他们的一侧,所以我们不必在每次更新时都向他们发送新的页眉/页脚包装。他们建议我们这样来做:包含php文件和html通过js包括

<script src="http://oursite.com/header.php"></script> 
<script src="http://oursite.com/footer.php"></script> 

所以我对托管在我们身边的header.php原始的HTML,然后我之前什么都添加了这个在标题:

<?php header("Content-type: text/javascript"); ?> 

然而,当页面加载我得到这个错误:

SyntaxError: syntax error 

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" xml 

我假设在js文件中有原始html代码的问题?如果有,反正有呢?

+2

摆脱HTML。 JavaScript文件适用于JavaScript。 – Blender

+1

我认为没有必要使用'header('')'。 – ncm

+0

无法完全掌握你的行为,他们的网站链接到你控制的脚本,修改了他们的网站,使其看起来像你的网站?听起来有点可怕。 – NickSlash

回答

0

您应该添加一个链接到适当的javascript,将所需的html推送到页面。

<script src="http://oursite.com/[somejsfile].js"></script> 

您可以从this answer如何插入使用JavaScript

+0

注入不变,如果内容有MIME类型的文本/ JavaScript或类似的它将运行,extencion meean在这种情况下什么都没有 –

+1

是的,它会工作,但它应该包含JavaScript代码而不是HTML。 – Naveed

0

如果你要使用JavaScript调用你需要使用AJAX外部文件HTML元素得到帮助。然后,问题在于您正在关注您的网站,而当您的网域不匹配时无法完成此操作。

如果以包含的方式进行操作,必须在javascript变量中声明html,然后在加载时将数据推送到需要的位置。

var html = '<html> YOUR CODE WATCH OUT FOR SINGLE QUOTES </html>'; 
//check for load with jquery 
$(document).ready(function(){ 
    $('#header").html(html); 
}) 
+0

但我认为这是不正确的。因为'xhtml'。(你有多个html标签)。 – ncm

+0

您可以将内容存储在一个变量中,并且parner可以将变量的值注入到它的网站上 –