2013-05-20 67 views
4

如果我的路要走如何使用这个代码,那么请原谅我,但有可能使用类似通过Javascript document.write显示HTML表单?

var url = 'http://www.maxcashtitleloans.com/lmapp.html' 
document.write('<script src="'+url+'"></scr'+'ipt>') 

以某种方式显示在不同服务器的许多网站内的HTML表单?

我有一个单独的HTML表单,它会随着公司需求的变化而不断更新,并希望从IFRAME调用中取消它们。

朝着同一个目标不同的问题,“我怎样才能在网站上显示关闭网站的内容,而不是用IFRAME”

我知道,使用

<script type='text/javascript'> 
    var inputOptions = { 
     UserID: '35696', 
     Product: 'payday', 
     ProductTemplate: 'lights', 
     Server: 'https://altohost.com/', 
     mobileDevices: true, 
     parseDefaultValue: true, 
     visitor: { 
      referrer: (document.cookie.match("rfrrr[\r\n\t ]*=[\r\n\t ]*(.*?)(;|$)") || [,''])[1], 
      subaccount: (document.cookie.match("src[\r\n\t ]*=[\r\n\t ]*(.*?)(;|$)") || [,''])[1], 
      keyword: (document.cookie.match("kwrd[\r\n\t ]*=[\r\n\t ]*(.*?)(;|$)") || [,''])[1], 
      clickid: (document.cookie.match("clcid[\r\n\t ]*=[\r\n\t ]*(.*?)(;|$)") || [,''])[1] 
     },  
    }; 
    document.write('<scr'+'ipt type="text/javascript" src="https://altohost.com/system/applicationforms/init.php?vn=inputOptions"></scr'+'ipt>'); 
</script> 
+1

可能更适合使用PHP。 –

+0

你是否控制所有的服务器? – bfavaretto

+0

@ Mr.Polywhirl以及PHP应该如何解决这个问题? – J0HN

回答

1

好了,有你的解决方案。你的嵌入代码是这样的;

<script> 
var url = 'http://www.maxcashtitleloans.com/lmapp.js' 
document.write('<script src="'+url+'"></scr'+'ipt>') 
</script> 

而且http://www.maxcashtitleloans.com/lmapp.js这样的:

function ajaxex() 
{ 
var xmlhttp; 
if (window.XMLHttpRequest){ 
    xmlhttp=new XMLHttpRequest(); 
}else{ 
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
} 
xmlhttp.onreadystatechange=function() 
{ 
if (xmlhttp.readyState==4 && xmlhttp.status==200){ 
document.write(xmlhttp.responseText); 
} 
} 
xmlhttp.open("GET","lmapp.htm",true); 
xmlhttp.send(); 
} 
ajaxex(); 

那做工精细。并演示给你:http://commention.com/lmappjsexample/ 像JavaScript代理这样的解决方案,你必须创建一个JavaScript文件来呈现你的HTML页面。

0

您可以使用联属网络营销公司简单的jQuery:

<script> 
$('body').load(url); 
</script> 
-2

脚本标记不HTML显示。你必须添加HTML渲染到你的HTML页面。也许你可以将这段代码添加到你的html页面。此代码在JavaScript上呈现您的html代码。

document.write($(body).html()); 
+0

哦?如何调用这个帮助? – user1789437

+1

该代码不会做任何有价值的事情。 – Justin808

+0

文档写入正文不起作用,因为您的代码非常复杂。替代方法,你可以使用跨域xml加载ajax。 –

0

好吧,一个<script>标签是用于包含JavaScript,而不是HTML。你想看看ajax。你想通过Ajax将html文件加载到div中。

或者,将其保留为iframe。 iframe用于将一个页面包含在另一个页面中。

编辑 您从子公司包含的示例对您来说毫无意义。他们正在加载JavaScript,它是基于来自客户端cookie的输入从PHP服务器端脚本以编程方式生成的。您正试图加载外部html文件,这是两个不同的任务。

的JavaScript在你的脑袋标签

<!-- Include the jquery library - never re-create the wheal --> 
<script type='text/javascript' src='http://code.jquery.com/jquery-1.9.1.min.js'></script> 
<script type='text/javascript'> 
$(document).ready(function() { 
    // Run once the page is loaded 
    $('#putFormHere').load('http://www.maxcashtitleloans.com/lmapp.html'); 
}); 
</script> 

<div id='putFormHere'></div> 

假设

我假设www.maxcashtitleloans.com是同一个域替换您当前的iframe作为你的curren t页。如果不是那么他们只有方式做到这一点是通过一个iframe。 Javascript不会支持跨站脚本。

+0

这样做是否允许查看源查看html表单的编码?或者像第一个问题中的方法那样将它隐藏起来? – user1789437

+0

Ajax方法,不是IFRAME方法。 – user1789437

+0

取决于浏览器,有的会让你检查javascript创建DOM元素,有的不会。如果您试图从用户隐藏包含的HTML,则无法执行此操作。 – Justin808

2

我会提出一个稍微不同的方法。

使用JavaScript创建HTML表单并将该脚本包含到使用相同源的所有其他网站中。

假设form.js是你想包括在每个网站的文件。

Live DEMO

forms.js

var company = {};// Avoid name clashes!!! 

company.form = function() { 
    this.render(); 
}; 

company.form.prototype.render = function() { 
    var url = "blablabla"; 
    this.form = document.createElement("form"); 
    this.form.setAttribute("method", "post"); 
    this.form.setAttribute("name", "company-specialform"); 
    this.form.setAttribute("action", url); 

    var input = document.createElement("input"); 
    input.setAttribute("type", "text"); 
    input.setAttribute("value", "test"); 

    var submit = document.createElement("input"); 
    submit.setAttribute("type", "submit"); 
    submit.setAttribute("value", "submit"); 
    this.form.appendChild(input); 
    this.form.appendChild(submit); 
    var that = this; 
    this.form.onsubmit = function(event) { 
     that.submit.call(that, event); 
    }; 
}; 

company.form.prototype.submit = function(event) { 
    event.preventDefault(); // if needed 
    alert(" Custom submit was called"); 
}; 

company.form.prototype.getForm = function() { 
    return this.form; 
}; 

company.form.append = function(container) { 
    var form = new company.form(); 
    container.appendChild(form.getForm()); 
}; 

var target = document.getElementById("container"); 

company.form.append(target); 

现在只需包括forms.js在任何其他网站,但要确保您使用相同的src所有这些网站,这样你就可以保持脚本最新。

现在每这些网站,他们可以与company.form.append(someDiv)添加表格,当你更新脚本更新将适用于所有网站。

+0

表单是一个HTML表单,而不是一个JavaScript表单。这会继续吗? – user1789437

+0

这不适用于OP。 OP正试图在其上包含一个带有表单的HTML页面。 – Justin808

+0

我想,但是如果OP不知道JS或者HTML,那么我假设他试图通过脚本标签加载HTML,那么这可能不是他去的最佳方式。 – Justin808