我正在制作 PWA,并尝试显示闪屏。我正在关注这个教程:
以此确认:
https://www.netguru.co/codestories/few-tips-that-will-make-your-pwa-on-ios-feel-like-native
我的 index.html 中的代码是这样的:
<meta name="apple-mobile-web-app-capable" content="yes">
<link rel="apple-touch-startup-image" sizes="2048x2732" href="splash/apple_splash_2048.png"/>
<link rel="apple-touch-startup-image" sizes="1668x2224" href="splash/apple_splash_1668.png"/>
<link rel="apple-touch-startup-image" sizes="1536x2048" href="splash/apple_splash_1536.png"/>
<link rel="apple-touch-startup-image" sizes="1125x2436" href="splash/apple_splash_1125.png"/>
<link rel="apple-touch-startup-image" sizes="1242x2208" href="splash/apple_splash_1242.png"/>
<link rel="apple-touch-startup-image" sizes="750x1334" href="splash/apple_splash_750.png"/>
<link rel="apple-touch-startup-image" sizes="640x1136" href="splash/apple_splash_640.png"/>
<link rel="apple-touch-startup-image" sizes="2048x1536" href="splash/apple_splash_2048.png"/>
<link rel="apple-touch-startup-image" sizes="640x960" href="splash/apple_splash_640x960.png"/>
<link rel="apple-touch-startup-image" sizes="320x480" href="splash/apple_splash_320.png"/>
<link rel="apple-touch-startup-image" sizes="1024x768" href="splash/apple_splash_1024x768.png"/>
<link rel="apple-touch-startup-image" sizes="2208x1242" href="splash/apple_splash_2208x1242.png"/>
<link rel="apple-touch-startup-image" sizes="768x1024" href="splash/apple_splash_768x1024.png"/>
<link rel="apple-touch-startup-image" sizes="2048x1536" href="splash/apple_splash_2048x1536.png"/>
Run Code Online (Sandbox Code Playgroud)
这些都在主 .html 索引文件的标头中,该文件充当整个应用程序的模板。我用同样的方式完成了我的图标,并且它可以在 iOS 上运行。启动版本没有(所有图标都位于启动文件夹下的同一目录中)。我究竟做错了什么?
亲切的问候,
格热戈日
我正在尝试刷新用这个库react-table 生成的表中的内容。但是,由于某种原因,它不起作用,即使我更改了传递给组件的参数的状态。
<ReactTable
data={this.state.data}
columns={this.state.headers}
/>
Run Code Online (Sandbox Code Playgroud)
以及改变数据的函数:
let data= this.state.data;
for (var i = 0; i < data.length; i++) {
data[i].name="TEST"
}
this.setState({data: data})
Run Code Online (Sandbox Code Playgroud)
我可以看到数据已更改,但表的内容保持不变。
我在 AWS EC2 服务器上运行带有 socketIO 模块的服务器时遇到问题。我当前的代码:
const port = process.env.PORT || 8080;
var server = require('http').Server();
var io = require('socket.io')(server);
const socketioHandler = require(backPath + 'functions/socketioHandler');
socketioHandler.ioConnections(io);
server.listen(port, 'ec2-IP_XXX.compute-1.amazonaws.com');
Run Code Online (Sandbox Code Playgroud)
以及我用来将客户端连接到服务器的 URI:
ec2-IP_XXX.compute-1.amazonaws.com:8080
Run Code Online (Sandbox Code Playgroud)
看来由于某种原因客户端找不到服务器。
我正在研究Progressive Web App,当用 Lighthouse 测试它时,我得到:
不将 HTTP 流量重定向到 HTTPS
我的服务器在nodejs 上,在Heroku 上。我试图添加这段代码:
app.get('*',function(req,res,next){
if(req.headers['x-forwarded-proto']!='https'){
res.redirect(`https://${req.header('host')}${req.url}`)
}else{
next()
}
})
Run Code Online (Sandbox Code Playgroud)
但这没有帮助。有什么想法如何解决这个问题吗?
我想调整通过输入文件获得的图像的大小。我发现jimp 似乎是一个不错的选择。我的问题是我不知道如何在文件上使用它。我尝试使用这种方法:
Jimp.read(lenna.buffer)
.then(image => {
// do stuff with the image
})
.catch(err => {
// handle an exception
});
Run Code Online (Sandbox Code Playgroud)
lenna我的文件在哪里,但出现错误:
No matching constructor overloading was found.
Please see the docs for how to call the Jimp constructor.
Run Code Online (Sandbox Code Playgroud) 我使用 Lambda (node.js) 从 DynamodDB 获取特定数据并将其发送到 Android 应用程序。问题是我不想一次性发送 Node.js 中满足我条件的所有数据。我在 Android 应用程序的列表视图中查看这些数据。在我的数据库中可能有数百万条记录,并且可能需要很长时间才能获取所有这些数据。我正在考虑发送这些数据的有效方式。我的想法是只发送前(例如)20 条记录,当用户向下滚动列表时,使用最后一条记录的 ID 向服务器发送请求,查看数据库并将另外 20 条记录发送到应用程序。有没有更好的办法呢?
如标题中所述,我遇到了问题。当我实现选项卡时,它们不显示内容,并且选项卡不平滑,完全类似于以下问题:
这样它们就可以停在中间,依此类推。
您认为我做错了什么?我附上显示它的片段代码:
public View onCreateView(LayoutInflater inflater,@Nullable ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_profile, container, false);
ButterKnife.bind(this,view);
tabLayout.addTab(tabLayout.newTab().setText(getResources().getString(R.string.news_feed)));
tabLayout.addTab(tabLayout.newTab().setText(getResources().getString(R.string.bio)));
tabLayout.setTabGravity(TabLayout.GRAVITY_FILL);
mPager.setAdapter(new PagerAdapter(getActivity().getSupportFragmentManager()));
tabLayout.setupWithViewPager(mPager);
return view;
}
Run Code Online (Sandbox Code Playgroud)
以及布局:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#FFFFFF"
tools:context="com.my.app.profileFragment">
<android.support.design.widget.TabLayout
android:id="@+id/tab_layout"
android:layout_below="@id/main_profile_frame"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/primary"
android:elevation="6dp"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"/>
<!--android:minHeight="?attr/actionBarSize"-->
<!--android:layout_below="@+id/toolbar"-->
<android.support.v4.view.ViewPager
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="fill_parent"
android:layout_alignParentTop="true"
android:layout_alignParentStart="true" />
</RelativeLayout>
</FrameLayout>
Run Code Online (Sandbox Code Playgroud)
怎么了 我真的找不到错误。
先感谢您!
你的
格热哥兹
我正在 PWA 应用程序中进行离线支持。我正在为此使用工作箱。这是我当前的代码:
const addToFormPlugin = new workbox.backgroundSync.Plugin('addToForm');
workbox.routing.registerRoute(
RegExp('MY_PATH'),
workbox.strategies.networkOnly({
plugins: [addToFormPlugin]
}),
'POST'
);
Run Code Online (Sandbox Code Playgroud)
该代码在我的计算机上似乎运行良好。但是,一旦我在手机上运行该应用程序,上传存储在 IndexedDB 中的请求需要很长时间。我知道它发生在 SYNC 上,但似乎至少需要 5 分钟。这不完全是我需要的。我想知道是否有一个选项可以访问 IndexDB 并在单击时“手动”发送所有请求。另一种方法是检查设备是否在线。以下是请求的存储方式:
我一直在开发连接到AWS的Android应用程序,我使用代码在应用程序中的DynamoDB中保存数据:
AmazonDynamoDBClient ddb = clientManager
.ddb();
DynamoDBMapper mapper = new DynamoDBMapper(ddb);
try {
mapper.save(event);
}
Run Code Online (Sandbox Code Playgroud)
我知道可以通过Lambda管理DynamoDB中的数据.我的问题是:在Lambda中保存和编辑数据更快更安全吗?
android ×3
javascript ×2
node.js ×2
aws-lambda ×1
image ×1
indexeddb ×1
ios ×1
react-table ×1
reactjs ×1
socket.io ×1
workbox ×1