加载外部javascript文件并创建iframe

时间:2017-09-13 20:39:26

标签: javascript jquery html iframe frontend

我需要创建一个返回iframe标记的javascript。 客户将脚本粘贴到iframe所在的位置,然后脚本应该创建一个iframe。

必须是这样的:

<script src="http://www.helloworld.com/script/loadcustomerframe.js" data-customer="14532"></script>

然后脚本应该将iframe加载到某个地方的url,我还需要阅读&#34; data-customer&#34;。

我是后端开发人员c#,而不是前端。我现在已经试了好几天了,我无法上班。

请帮忙。 感谢

2 个答案:

答案 0 :(得分:-1)

这样的事情应该有效:

$(document).ready(() => {
  $("[data-customer]").each(function() {
    let customerId = $(this).data("customer");
    $(this).replaceWith(`<p>This is customer #${customerId}.</p>`);
    // The following comment is an example of how you could use an iframe
    //$(this).replaceWith(`<iframe src="http://example.org/customer/${customerId}>Hello!</iframe>`);
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div data-customer="1"></div>
<div data-customer="2"></div>
<div data-customer="3"></div>

您只需要让脚本显示一次(最有可能出现在<head>中),它将替换具有<div>属性的任何data-customer。您只需要找出<iframe>的正确网址。

答案 1 :(得分:-2)

Si基本上你的JS代码就可以了,

首先需要创建一个JS代码并将其托管到某个服务器中以通过获取它来获取它,因此将您的JS代码托管到https://www.mygreatjscode.com/myjscode.js

的映像

所以你的JS代码将完成其余的工作,

像这样使用纯JS(没有像jQuery等框架),所以你的myjscode.js文件将包含这个:

//create an autoexec function
(function(){
    var body = document.getElementByTagName("body");
     body = body ? body : false;

     if (body){
        var iframe = document.createElement("iframe");
         iframe.setAttribute("id", "MY_CUSTOM_ID");
          //here set the url that the iframe will be render
          iframe.setAttribute("src", "https://stackoverflow.com/");
          //finally insert into the body of page
          body.appendChild(iframe);
     }

 })();

最后,您需要将脚本标记插入到页面中,如此

<script src="https://www.mygreatjscode.com/myjscode.js" data-customer="14532"></script>