从html页面中分离javascript

时间:2017-10-12 13:21:41

标签: javascript html

我有一个带有javascript和多个表单请求用户输入的网页。由于网页太忙,我试图将javascript分离到它自己的页面。

我页面的示例代码,

<body <script type="application/javascript">
    function Opencorporates(selection){ window.open("https://api.opencorporates.com/v0.4/companies/search?q="+selection.value+"&format=xml") }
    </script>

    <form onsubmit="Opencorporates(query)">
        <h2>Opencorporates:</h2> <input type="text" placeholder="Company Check" name="query"><input type="submit" value="submit">
    </form>

    <script src="javascript_samples.js"></script>

</body>

我尝试调用JavaScript是不成功的。

我保存了javascripts javascript_samples.js,但我无法让查询生效。

function Opencorporates(selection) {

    window.open("https://api.opencorporates.com/v0.4/companies/search?q=" + selection.value + "&format=xml");

}

我不确定如何从网页调用已保存的脚本。

<body>
    <form name="search" onsubmit="return Opencorporates();">
        <input type="text" placeholder="OPenCorpo" name="query">
        <input type="submit" name="submit" value="submit"></form>
    <script src="javascript_samples.js"></script>
</body>

我对javascript的经验水平有限/初学者。 “dummies指南”风格的回复将不胜感激。

2 个答案:

答案 0 :(得分:0)

回答(有点)

好的,经过一些挖掘后我发现了问题。但是我会坚持解决方案,而是给你一些建议;这是学习如何调试代码。这是编码过程中不可或缺的一部分。要调试Html和Javascript,Chrome开发人员工具是您最好的朋友。请花一些时间阅读教程并阅读chrome debugger documentation。一旦你对这些工具的工作方式有了基本的了解,你就应该能够解决这个bug以及将来的其他bug。

需要考虑

我希望您考虑此代码中的另一个错误。它不是一个明显的错误,但它是一个错误,可能会导致您的雇主或客户(这个代码的任何人)受到一些损害。考虑这一行:

window.open("https://api.opencorporates.com/v0.4/companies/search?q="+selection.value+"&format=xml")

请注意,+selection.value+表示无论用户在文本框中输入什么内容,都会将输出原始输出到查询中。这意味着有动力的黑客可以使用名为Cross Site Scripting or XSS的黑客技术。我建议阅读有关与网络安全有关的OWASP top 10 security vulnerabilities

答案 1 :(得分:-1)

<body>
<form name="search" onsubmit = "return Opencorporates();">
        <input type="text" placeholder="OPenCorpo" name="query">
        <input type = "submit" name="submit" value = "submit" ></form>
<script src="~/javascript_samples.js"></script>
</body>