fixed widget.js bugs