gpt4 book ai didi

javascript - 如何在某人的网站上构建一个小部件并托管在您的网站上?

转载 作者:行者123 更新时间:2023-12-01 05:36:33 24 4
gpt4 key购买 nike

此问题引用 this问题。
因此,经过对 JSONP 的一些研究和一些测试,我得出的结论是,我不知道自己在做什么......

我需要什么?

我正在为人们提供客户服务以在他们的网站上使用。最后,如果有人希望将我们的 Web 应用程序嵌入到他们的网站中,则需要获取一些带有授权 key 的 JavaScript 代码。

我有什么?

我对代码进行了一些操作,这就是我所拥有的:

homepage.php (client side)


<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
<script type="text/javascript">
(function($) {
var key= "12345";
var url = 'http://www.example.com/json.php?callback=?&auth=' + key + '';

$.ajax({
type: 'GET',
url: url,
async: false,
jsonpCallback: 'jsonCallback',
contentType: "application/json",
dataType: 'jsonp',
success: function(json) {
document.write(json.csBlock[0].frame); //Call to the iFrame
// document.write(json.csBlock[0].layout);
// document.write(json.csBlock[0].core);
},
error: function(e) {
console.log(e.message);
}
});

})(jQuery);
</script>
</head>
<body>

</body>
</html>

所以这个 JavaScript 请求回调我的服务器...

json.php (server side)


<?php 
if ($_GET['auth'] === "12345"){
?>
jsonCallback(
{
"csBlock":
[
{
"frame": "<iframe src='http://www.example.com/content/testpage.php'></iframe>",
"layout": "<link rel='stylesheet' href='http://www.example.com/css/klantpage.css'>",
"handle": "<script src='http://www.example.com/js/self/widgetScript.js'></script>",
"core": "<div class='dashboard_widget'></div><div id='chatContainer' class='chatContainer'><div id='view_ajax' class='view_ajax'></div></div><div id='ajaxForm' class = 'ajaxForm'><textarea id='chatInput'></textarea></div><input type='button' value='Send' id='btnSend' class = 'btn btn-primary'></div></div>"

}
]
}
);
<?php
}
else {
?>
jsonCallback(
{
"csBlock":
[
{
"layout": "<div style='width: 250px; height: 50px; background-color: #842979; position: fixed; bottom: 0; right: 5%; border-top-left-radius: 5px; border-top-right-radius: 5px; text-align: center; line-height: 300%; color: white; font-family: calibri; font-size: 13pt;'>KEY NOT PERMITTED</div>"
}
]
}
);




<?php
}
?>

某人发送给我们的 key 应该是“12345”
因此,对于这方面,我认为 iFrame 是不好的做法......所以我将避免这种情况。
现在,正如您在 json.php 文件中看到的,我已经用 div 构建了一些东西。
问题是,当我用 div 构建它时(还包括 "handle":),它给了我一个 500 内部服务器错误。
我认为这是因为 widgetScript.js 正在尝试调用位于另一台服务器上的 PHP 文件...
因此,随着 iFrame 的出现,并仅使用 HTML 元素来构建它,根据我所知道的,我有多少种选择?无。

问题

如何使用 JSONP 专业且安全地制作聊天小部件?
我担心的是,人们可能会更改 JavaScript 并使用聊天小部件。

<小时/>

这个问题在 StackOverflow 上可能有点难以回答。
因此,将我重定向到另一个网站对我来说完全没问题。

任何提示、指南、教程将不胜感激!

最佳答案

如何使用 JSONP 专业且安全地制作聊天小部件?我担心的是人们可能会更改 JavaScript 并使用聊天小部件。

更好的方法是使用 WebSocket,它更快、更安全。

我的意见来了,因为我之前已经为网络上的外部和内部应用程序做过专业聊天小部件。 (我使用过 JSONP 和 WebSockets)

WebSocket 小部件将减少目标网站的工作量和负载。它在客户端需要更少的 JavaScript,并且代码也更容易维护。

您将保护每个域的访问。

这只是我的两分钱,如果您愿意,我们可以进一步讨论。

关于javascript - 如何在某人的网站上构建一个小部件并托管在您的网站上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33667489/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com