我有一个这样的小部件:
import React from 'react';
import PropTypes from 'prop-types';
class TelegramLoginButton extends React.Component {
componentDidMount() {
const { botName, size, requestAccess, showUserPic, callbackOnAuth } = this.props;
window.TelegramLoginWidget = {
callbackOnAuth: user => callbackOnAuth(user)
};
const script = document.createElement('script');
script.src = 'https://telegram.org/js/telegram-widget.js?2';
script.setAttribute('data-telegram-login', botName || 'samplebot');
script.setAttribute('data-size', size || 'large');
script.setAttribute('data-request-access', requestAccess || 'write');
script.setAttribute('data-userpic', !showUserPic);
script.setAttribute('data-onauth', 'TelegramLoginWidget.callbackOnAuth(user)');
script.async = true;
this.instance.appendChild(script);
}
render() {
return (
<div ref={component => this.instance = component}>
{this.props.children}
</div>
);
}
}
TelegramLoginButton.propTypes = {
callbackOnAuth: PropTypes.func.isRequired,
botName: PropTypes.string.isRequired,
size: PropTypes.oneOf(['small', 'medium', 'large']),
requestAccess: PropTypes.oneOf(['write']),
showUserPic: PropTypes.bool
};
export default TelegramLoginButton;
使用时会弹出如下错误:
拒绝在框架中显示“ https://oauth.telegram.org/embed/ld_notify_test_bot?origin=http%3A%2F%2Ftelegram.comments%3A8080&size=large&userpic=true&request_access=write ”,因为祖先违反了以下内容安全策略指令:“框架祖先http://telegram.comments ”。
应用程序本身正在旋转:http://telegram.comments:8080/在机器人设置中,域http://telegram.comments:8080/被指定
问题是什么?域名被交换了,应该没有任何问题。
如果端口与第 80 个端口不同,则该小部件不起作用。