-1

我是 HTML/javascript 的新手,所以如果这有点抽象,我很抱歉,我不太确定如何措辞标题。我做了一些研究,我了解适用相同的来源政策,所以假设我设置了任何人都可以访问的标题。

我一直想知道像 Olark 这样的软件在集成到另一个站点时是如何工作的。我的意思是他们提供了一小段代码来复制/粘贴到你的网站上,然后你就有了一个漂亮的样式和交互式表单。我想最让我困惑的是,HTML 似乎很少,但显然这就是它在页面上生成的方式。

我注册了该服务只是为了查看代码的外观,这是他们让我复制/粘贴到我的网站上的内容(删除了我的信息)

<!-- begin olark code -->
<script data-cfasync="false" type='text/javascript'>/*<![CDATA[*/window.olark||(function(c){var f=window,d=document,l=f.location.protocol=="https:"?"https:":"http:",z=c.name,r="load";var nt=function(){
f[z]=function(){
(a.s=a.s||[]).push(arguments)};var a=f[z]._={
},q=c.methods.length;while(q--){(function(n){f[z][n]=function(){
f[z]("call",n,arguments)}})(c.methods[q])}a.l=c.loader;a.i=nt;a.p={
0:+new Date};a.P=function(u){
a.p[u]=new Date-a.p[0]};function s(){
a.P(r);f[z](r)}f.addEventListener?f.addEventListener(r,s,false):f.attachEvent("on"+r,s);var ld=function(){function p(hd){
hd="head";return["<",hd,"></",hd,"><",i,' onl' + 'oad="var d=',g,";d.getElementsByTagName('head')[0].",j,"(d.",h,"('script')).",k,"='",l,"//",a.l,"'",'"',"></",i,">"].join("")}var i="body",m=d[i];if(!m){
return setTimeout(ld,100)}a.P(1);var j="appendChild",h="createElement",k="src",n=d[h]("div"),v=n[j](d[h](z)),b=d[h]("iframe"),g="document",e="domain",o;n.style.display="none";m.insertBefore(n,m.firstChild).id=z;b.frameBorder="0";b.id=z+"-loader";if(/MSIE[ ]+6/.test(navigator.userAgent)){
b.src="javascript:false"}b.allowTransparency="true";v[j](b);try{
b.contentWindow[g].open()}catch(w){
c[e]=d[e];o="javascript:var d="+g+".open();d.domain='"+d.domain+"';";b[k]=o+"void(0);"}try{
var t=b.contentWindow[g];t.write(p());t.close()}catch(x){
b[k]=o+'d.write("'+p().replace(/"/g,String.fromCharCode(92)+'"')+'");d.close();'}a.P(2)};ld()};nt()})({
loader: "static.olark.com/jsclient/loader0.js",name:"olark",methods:["configure","extend","declare","identify"]});
/* custom configuration goes here (www.olark.com/documentation) */
olark.identify('');/*]]>*/</script><noscript><a href="https://www.olark.com/site//contact" title="Contact us" target="_blank">Questions? Feedback?</a> powered by <a href="http://www.olark.com?welcome" title="Olark live chat software">Olark live chat software</a></noscript>
<!-- end olark code -->

对我来说,看起来 javascript 正在处理从聊天中来回传递信息。但是,表单本身是在哪里生成的?我没有看到任何 HTML 元素或任何结构。

假设我在我的服务器上托管了一个简单的 HTML 表单,我希望其他人能够在他们的站点上生成这个简单的表单。

<form method = "post" id="simpleform">
<table>
    <tr>
        <td><input type="textbox" name="simpletext"/></td>
        <td><input type="submit" name="submittext"/></td>
    </tr>
</table>
</form>

我不是要求某人明确写出代码,但从一般意义上讲,我将如何实现这一点?我是否必须制作一个 html 文件,然后提供要包含的链接,或者我是否会做一些事情,比如把它放在一个 javascript 函数中并从网站调用它?

编辑-有人向我指出,使用 JSONP 可以实现这一点。我在这里找到了一个教程,它给了我一个想法,但我仍然不知道如何从中生成 HTML。假设我想制作我提到的那个表单,我怎么能传递 HTML 元素?

4

1 回答 1

2

通常像你提到的脚本是这样工作的:

  • 用户将脚本或<script>标签粘贴到他们的站点中
  • 添加的代码将从脚本作者的站点加载更多代码
  • 正在加载的脚本将执行实际工作,例如。生成 HTML,加载任何 CSS 文件等。
于 2013-06-01T17:19:58.427 回答