reactjs - 如何使用 react js 导入 Skype 对象?
问题描述
有人可以帮我吗?只是想在我的 react 应用程序中嵌入一个简单的 Skype 按钮,但由于我明显缺乏对模块、导入、webpack 以及 create-react-app 实际执行操作的理解,我无法访问 Skype 对象。它没有定义。
我已按照指示
https://www.skype.com/en/developer/create-contactme-buttons/
我已经使用 index.html 中的脚本标签链接到 skype js <script type="text/javascript" src="https://secure.skypeassets.com/i/scom/js/skype-uri.js"></script>
在我的主 js 文件中,使用 create-react-app:
loadSkype() {
Skype.ui({
"name": "dropdown",
"element": "SkypeButton_Call_john23",
"participants": ["john23"],
"imageSize": 32
})
}
我无法访问该Skype
对象。有任何想法吗?
这些说明听起来很简单:复制并粘贴以下代码:
<script type="text/javascript" src="https://secure.skypeassets.com/i/scom/js/skype-uri.js"></script>
<div id="SkypeButton_Call_john23_1">
<script type="text/javascript">
Skype.ui({
"name": "call",
"element": "SkypeButton_Call_john23_1",
"participants": ["john23"]
});
</script>
</div>
解决方案
在您index.html
需要导入 Skype 库:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<title>React App</title>
</head>
<body>
<div id="root"></div>
<script type="text/javascript" src="https://secure.skypeassets.com/i/scom/js/skype-uri.js"></script>
</body>
</html>
然后为 Skype 创建一个组件,并在您想使用它时将其导入:
import React from "react";
import { render } from "react-dom";
const styles = {
fontFamily: "sans-serif",
textAlign: "center"
};
class SkypeBT extends React.Component {
componentDidMount() {
Skype.ui({
name: "dropdown",
element: "SkypeButton_Call_john23",
participants: ["john23"],
imageSize: 32
});
}
render() {
return <div id="SkypeButton_Call_john23" />;
}
}
const App = () => (
<div style={styles}>
<h2>Call me</h2>
<SkypeBT />
</div>
);
render(<App />, document.getElementById("root"));
你可以在这里找到一个工作版本
推荐阅读
- css - Chrome Android 上的多个 iframe 滚动
- javascript - 将 javascript 选项选择返回值分配给 angularjs 参数
- documentation - 是否有任何 PHP 库可以为 Joomla 组件、模块和插件自动创建开发人员文档
- azure-functions - Azure 函数执行能否确定其自己的传出/外部 IP 地址?
- javascript - 如何在特定页面出现后运行篡改猴子脚本?
- xamarin - Prism with Xamarin for Android - InvalidOperationException on Launch
- login - Fosuserebundle:管理员创建用户。注册后不想登录
- python - 从 txt 文件绘制底图等高线
- web-scraping - 使用 Google 表格抓取 Instagram 关注者时被阻止
- python - django 模型中的 OneToManyRelationship