5

如果我不知道如何使用此代码,请原谅我,但是否可以使用类似

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> 
4

5 回答 5

3

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

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

假设form.js是您要包含在每个网站中的文件。

现场演示

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)当您更新脚本时,更新将在所有网站上可用。

于 2013-05-20T20:38:29.503 回答
2

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

<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 页面。

于 2013-05-20T21:11:12.780 回答
0

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

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

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

HEAD 标签中的 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>

用这个替换你当前的 iframe

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

假设

我假设这www.maxcashtitleloans.com是与您当前页面相同的域。如果不是,那么他们唯一的方法就是通过 iframe。Javascript 将不支持跨站点脚本。

于 2013-05-20T20:35:41.227 回答
0

您可以使用简单的 jQuery:

<script>
$('body').load(url);
</script>
于 2013-05-20T20:33:41.913 回答
-2

脚本标签不呈现 HTML。您必须将 HTML 渲染添加到您的 html 页面。也许您可以将此代码添加到您的 html 页面。此代码在 javascript 上呈现您的 html 代码。

document.write($(body).html());
于 2013-05-20T20:34:24.870 回答