appendTo - 无法识别的表达式var

时间:2017-05-15 13:17:46

标签: javascript jquery

更新了代码,尝试使用onclick更改imo编号,但vesslefinder只是忽略了onclick中的所有内容。有什么建议吗?即使我硬编码imo它也不起作用。

<a>'按钮'链接:

<a id="button_mssi_imo" href="#" data-toggle="modal" data-target=".bs-example-modal-lg" class="btn btn-success btn-xs"><i class="fa fa-truck"></i><p hidden="">9514767!</p> Track </a>

脚本:

<script>     
$(document).on('click', '#button_mssi_imo', function( event )
{
    alert('Button Clicked');
    var imo_data = $(this).text();

    // splits the string to get the imo
    var imo_data_split = imo_data.split("!")[0];

    var width="700";
    var height="500";
    var zoom="3";
    var imo = imo_data_split;
    var click_to_activate=false;
});
</script>       
<script type="text/javascript" src="https://www.vesselfinder.com/aismap.js"></script>

我想在点击button时将一些JavaScript附加到div中(使用vesselfinder)。我可以设法附加脚本的开头,但是第二个我开始添加var它会返回unrecognised expression消息。

有人可以帮我解决我做错的事吗?我也试过一行导致同样的错误:

1 个答案:

答案 0 :(得分:1)

根据我从https://www.vesselfinder.com/nl/embed

获得的代码,以下是我认为你想要的内容

&#13;
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script>
var myWrite = document.write, html=[]; 
document.write=function(str) { // redefine document.write to intercept
  html.push(str);
}
$(function() {
  $("#myDiv").html(html.join("")); // load into the div of your choice
});
</script>
<script type="text/javascript">
  var width="700";
  var height="500";
  var zoom="3";
  var click_to_activate=false;
</script>
<script type="text/javascript"
 src="https://www.vesselfinder.com/aismap.js">
</script>

<div id="myDiv"></div>
&#13;
&#13;
&#13;

点击加载(在SO上不起作用)

<!DOCTYPE html>
<html>
<head>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
    <script type="text/javascript">
function writeVessel(imo) {
    var script = [];
    script.push('<script>');
    script.push('var imo = "' + imo + '";');
    script.push('var width="700";');
    script.push('var height="500";');
    script.push('var zoom="3";');
    script.push('var click_to_activate=false;');
    script.push('<\/script>');
    script.push('<script src="https://www.vesselfinder.com/aismap.js"><\/script>');
    console.log(script.join("\n"))
    var iFrame = window.myIframe; // $("#myIframe")[0];
    iFrame.document.write(script.join("\n"));
    iFrame.document.close();
}
$(function() {
  $(document).on('click', '.button_mssi_imo', function(e) {
    e.preventDefault(); // cancel click
    var imo = $(this).text().split("!")[0];
    writeVessel(imo);
  });
});
</script>

</head>
<body>
<a id="button_mssi_imo" href="#" data-toggle="modal" data-target=".bs-example-modal-lg" class="btn btn-success btn-xs"><i class="fa fa-truck"></i><p hidden="">9514767!</p> Track </a><br />
<iframe id="myIframe" name="myIframe" width="800" height="800" src="about:blank"></iframe>
</body>
</html>